Commit dedcefb0 authored by Ang Way Chuang's avatar Ang Way Chuang Committed by Mauro Carvalho Chehab

V4L/DVB (4972): Dvb-core: fix bug in CRC-32 checking on 64-bit systems

CRC-32 checking during ULE decapsulation always failed on x86_64 systems due
to the size of a variable used to store CRC. This bug was discovered on
Fedora Core 6 with kernel-2.6.18-1.2849. The i386 counterpart has no such
problem. This patch has been tested on 64-bit system as well as 32-bit system.
Signed-off-by: default avatarAng Way Chuang <wcang@nrg.cs.usm.my>
Signed-off-by: default avatarMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 38284ba3
...@@ -605,7 +605,7 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len ) ...@@ -605,7 +605,7 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
{ &utype, sizeof utype }, { &utype, sizeof utype },
{ priv->ule_skb->data, priv->ule_skb->len - 4 } { priv->ule_skb->data, priv->ule_skb->len - 4 }
}; };
unsigned long ule_crc = ~0L, expected_crc; u32 ule_crc = ~0L, expected_crc;
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. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment