Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
[fw/altos] / src / stmf0 / ao_crc.h
index 7acc6f9c0e33df5cb610271d73f3669ffbe982c5..59e7e7a6d427b74550e52bb874cb7773aba68d31 100644 (file)
@@ -35,7 +35,8 @@
 static inline uint16_t
 ao_crc_in_32_out_16(uint32_t v) {
        stm_crc.dr.u32 = v;
-       return stm_crc.dr.u16;
+       v = stm_crc.dr.u32;
+       return (uint16_t) (v ^ (v >> 16));
 }
 
 static inline uint16_t