[PATCH] Fix for hdlcdrv (ham radio) CRC calculation

From: Micah Dowty
Date: Wed Nov 10 2004 - 07:44:23 EST


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@xxxxxxx>

(Not subscribed, please CC: replies)

--- drivers/net/hamradio/hdlcdrv.c.orig 2004-11-10 12:33:00.365920000 -0700
+++ drivers/net/hamradio/hdlcdrv.c 2004-11-10 12:34:02.043543576 -0700
@@ -106,6 +106,7 @@ static char ax25_nocall[AX25_ADDR_LEN] =
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;


Only you can prevent creeping featurism!
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/