I've encountered a situation where the driver discards bytes received while transmitting a message.
The sequence of events are as follows:
Device A sets AUTED flag to 0 (with TDME_SETSFR_request_sync).
Device A sends ping request to device B (with MCPS_DATA_request).
Device A sets AUTED flag to 1 (with TDME_SETSFR_request_sync).
Device A waits for ping response from device B (through MCPS_DATA_indication callback).
Device A reads EDVALLP register.
Device B hears ping request (with MCPS_DATA_indication).
Device B sends ping response to device A (with MCPS_DATA_request).
Unfortunately I cannot reliably reproduce this error as it occurs very sporadically, anywhere from after an hour, to after 30 secs of this procedure running in a loop.
The kernel messages (for device A) are as follows:
I've encountered a situation where the driver discards bytes received while transmitting a message.
The sequence of events are as follows:
Device A sets AUTED flag to 0 (with TDME_SETSFR_request_sync). Device A sends ping request to device B (with MCPS_DATA_request). Device A sets AUTED flag to 1 (with TDME_SETSFR_request_sync). Device A waits for ping response from device B (through MCPS_DATA_indication callback). Device A reads EDVALLP register.
Device B hears ping request (with MCPS_DATA_indication). Device B sends ping response to device A (with MCPS_DATA_request).
Unfortunately I cannot reliably reproduce this error as it occurs very sporadically, anywhere from after an hour, to after 30 secs of this procedure running in a loop.
The kernel messages (for device A) are as follows:
The 0x20 and 0x1f bytes are subsequently ignored by the driver, putting it out of sync.