mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
4a2489b99a
SDSPI driver optimized polling of the response tokens by requesting two extra bytes on top of the block size (512) and CRC (2), and checking whether these bytes contained the data response token or not. In case the token was there, further polling would not need to happen, thereby reducing latency between two consecutive blocks transferred. However this caused compatibility issues when these two extra bytes were sent after reading the final block. When STOP_TRANSMISSION command was sent, these extra two bytes were treated as part of the command, causing an invalid command error. This fixes the logic by only requesting extra two bytes if the block being read is not the final block. In addition to that, more strict error checking is implemented for command response tokens.