Commit 5f817e2b authored by Micah Dowty's avatar Micah Dowty Committed by Greg Kroah-Hartman

hdlcdrv: Fix CRC calculation.

[ Upstream commit ae6134bd ]

This is a trivial patch against the hdlcdrv module that fixes its CRC
calculation. The finished CRC was overwriting the first two bytes of
each packet rather than being appended to the end.

I've tested this with 2.6.8 and 2.6.10-rc1, but hdlcdrv hasn't changed
much recently so it should work with many other kernel versions.
Signed-off-by: default avatarMicah Dowty <micah@navi.cx>
Acked-by: default avatarThomas Sailer <t.sailer@alumni.ethz.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 75a3a965
...@@ -88,6 +88,7 @@ ...@@ -88,6 +88,7 @@
static inline void append_crc_ccitt(unsigned char *buffer, int len) static inline void append_crc_ccitt(unsigned char *buffer, int len)
{ {
unsigned int crc = crc_ccitt(0xffff, buffer, len) ^ 0xffff; unsigned int crc = crc_ccitt(0xffff, buffer, len) ^ 0xffff;
buffer += len;
*buffer++ = crc; *buffer++ = crc;
*buffer++ = crc >> 8; *buffer++ = crc >> 8;
} }
......
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