contiki-os/contiki — pull request #922 by atiselsts (2014-12-17 16:42:22+00:00)
Title: Atmel 230bb: always increase the rx frame ringbuffer cursor in rf230_read()

Avoids packet reordering in cases when RF230_CONF_RX_BUFFERS > 1.

Until now, the code moved the cursor forward to the next slot only if the reception of a packet was successful. That lead to continuous packet reception reordering after once seeing a corrupt packet. The patch simply moves to the next packet even if the current packet cannot be successfully received.

It also looks like that the RS230bb driver enables automatic CRC, but does not check is on reception. I got a lot of corrupt packets up to Rime level. Probably can be worked around by enabling the software checksum. I did not attempt to verify or patch that.