Skip to contentSkip to conversation

Fix for hdlcdrv (ham radio) CRC calculation

PATCH New Micah Dowty 1 participant 1 message Nov 10, 2004 Networking

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix for hdlcdrv (ham radio) CRC calculation

Hello,

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.

(Not subscribed, please CC: replies)

net/hamradio/hdlcdrv.c 2004-11-10 12:34:02.043543576 -0700 renamed from net/hamradio/hdlcdrv.c.orig 2004-11-10 12:33:00.365920000 -0700 +1 -0
@@ -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;
 }

--Micah

Signature · 1 line
Only you can prevent creeping featurism!