Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
[fw/altos] / src / kernel / ao_fec.h
index 9ccc3af1d1df0dc28e66194e3271eaee31d1a199..40e5b15a082124dc7b4271fe8031b5d671d735b7 100644 (file)
@@ -39,10 +39,10 @@ ao_fec_crc_byte(uint8_t byte, uint16_t crc)
 
        for (bit = 0; bit < 8; bit++) {
                if (((crc & 0x8000) >> 8) ^ (byte & 0x80))
-                       crc = (crc << 1) ^ 0x8005;
+                       crc = (uint16_t) ((crc << 1) ^ 0x8005);
                else
                        crc = (crc << 1);
-               byte <<= 1;
+               byte = (uint8_t) (byte << 1);
        }
        return crc;
 }