aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Dowty <micah@navi.cx>2008-07-21 09:59:09 -0700
committerDavid S. Miller <davem@davemloft.net>2008-07-21 10:10:56 -0700
commitae6134bdf3197206fba95563d755d2fa50d90ddd (patch)
tree0d161e5c7fdcef4a3b924be0a6fd1eaec2a81b50
parentd3678b463df73f5060d7420915080e19baeb379b (diff)
hdlcdrv: Fix CRC calculation.
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: Micah Dowty <micah@navi.cx> Acked-by: Thomas Sailer <t.sailer@alumni.ethz.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/hamradio/hdlcdrv.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/hamradio/hdlcdrv.c b/drivers/net/hamradio/hdlcdrv.c
index ae9629fa688..c258a0586e6 100644
--- a/drivers/net/hamradio/hdlcdrv.c
+++ b/drivers/net/hamradio/hdlcdrv.c
@@ -88,6 +88,7 @@
static inline void append_crc_ccitt(unsigned char *buffer, int len)
{
unsigned int crc = crc_ccitt(0xffff, buffer, len) ^ 0xffff;
+ buffer += len;
*buffer++ = crc;
*buffer++ = crc >> 8;
}