summaryrefslogtreecommitdiff
path: root/drivers/net/hamradio/hdlcdrv.c
diff options
context:
space:
mode:
authorMicah Dowty <micah@navi.cx>2008-07-21 16:59:09 (GMT)
committerDavid S. Miller <davem@davemloft.net>2008-07-21 17:10:56 (GMT)
commitae6134bdf3197206fba95563d755d2fa50d90ddd (patch)
tree0d161e5c7fdcef4a3b924be0a6fd1eaec2a81b50 /drivers/net/hamradio/hdlcdrv.c
parentd3678b463df73f5060d7420915080e19baeb379b (diff)
downloadlinux-fsl-qoriq-ae6134bdf3197206fba95563d755d2fa50d90ddd.tar.xz
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>
Diffstat (limited to 'drivers/net/hamradio/hdlcdrv.c')
-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 ae9629f..c258a05 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;
}