mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-02 16:44:10 +08:00
V4L/DVB (8126): net endianness fix
According to RFC 4326 (4.1) D-bit is MSB in net-endian 16bit. dvb_net.c did /* Set D-bit for CRC32 verification, * if it was set originally. */ ulen |= 0x0080; which works of little-endian (htons(1<<15) is 0x0080 there), but breaks on big-endian. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
38f993ad8b
commit
f51b10ef65
@ -606,7 +606,7 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
|
|||||||
if (priv->ule_dbit) {
|
if (priv->ule_dbit) {
|
||||||
/* Set D-bit for CRC32 verification,
|
/* Set D-bit for CRC32 verification,
|
||||||
* if it was set originally. */
|
* if it was set originally. */
|
||||||
ulen |= 0x0080;
|
ulen |= htons(0x8000);
|
||||||
}
|
}
|
||||||
|
|
||||||
ule_crc = iov_crc32(ule_crc, iov, 3);
|
ule_crc = iov_crc32(ule_crc, iov, 3);
|
||||||
|
Loading…
Reference in New Issue
Block a user