diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2008-06-22 13:20:49 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-07-20 06:13:08 -0400 |
commit | f51b10ef6520f2bd725dc333e771eabd55d6c04f (patch) | |
tree | 2334e29554e17384ccc6270f4baaaa69a24e2579 /drivers | |
parent | 38f993ad8b1fe4caf9e989caf6e2a25aff3bbaf7 (diff) |
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/dvb/dvb-core/dvb_net.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/dvb/dvb-core/dvb_net.c b/drivers/media/dvb/dvb-core/dvb_net.c index c2334aef4143..ff7161094023 100644 --- a/drivers/media/dvb/dvb-core/dvb_net.c +++ b/drivers/media/dvb/dvb-core/dvb_net.c | |||
@@ -606,7 +606,7 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len ) | |||
606 | if (priv->ule_dbit) { | 606 | if (priv->ule_dbit) { |
607 | /* Set D-bit for CRC32 verification, | 607 | /* Set D-bit for CRC32 verification, |
608 | * if it was set originally. */ | 608 | * if it was set originally. */ |
609 | ulen |= 0x0080; | 609 | ulen |= htons(0x8000); |
610 | } | 610 | } |
611 | 611 | ||
612 | ule_crc = iov_crc32(ule_crc, iov, 3); | 612 | ule_crc = iov_crc32(ule_crc, iov, 3); |