CRC must be shifted before conversion to big endian, not after
authorMichal Sojka <sojkam1@fel.cvut.cz>
Wed, 6 Nov 2013 17:40:48 +0000 (18:40 +0100)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Wed, 6 Nov 2013 17:40:48 +0000 (18:40 +0100)
latester/latester.c

index e19064a..b0937ba 100644 (file)
@@ -204,7 +204,7 @@ uint32_t calc_bitmap_crc(uint32_t *bitmap, unsigned start, unsigned end)
     crc = crc_update(crc, bitmap[1], 32);
     crc = crc_update(crc, bitmap[2], end - 64 > 32 ? 32 : end - 64);
     crc = crc_update(crc, bitmap[3], end > 96 ? end - 96 : 0);
-    return (uint32_t)htons(crc) << 17;
+    return (uint32_t)htons(crc << 17);
 }
 
 void write_crc_to_bitmap(uint32_t crc, uint32_t *bitmap, struct can_frame *frame)