Ivan Grokhotkov 6782971332 sdmmc: accept CMD_DONE being is reported together with RTO
SDMMC databook specifies that when an error interrupt is generated
(such as RTO, DCRC, RCRC), CMD_DONE interrupt is also generated.
The code used to break out of the event handling loop to wait for
another interrupt event to happen, reporting CMD_DONE.
However if interrupt processing was delayed, it is possible that
a single event contains both RTO and CMD_DONE. Previously, CMD_DONE
would not be handled, and the state machine would be stuck in
SDMMC_SENDING_CMD state, until a timeout. This didn't change the
outcome (err=0x107), but delayed the handling of response timeout
event.

Fix by not breaking out of the event handler, optionally processing
the CMD_DONE interrupt if it has been reported in the same message.
2022-02-20 12:39:36 +00:00
..
2022-02-09 23:05:45 +08:00
2022-01-18 10:06:08 +08:00
2022-01-18 10:06:08 +08:00
2021-05-25 17:43:57 +02:00
2022-02-09 23:05:45 +08:00
2022-01-18 10:06:08 +08:00
2022-02-09 23:05:45 +08:00
2022-02-09 23:05:45 +08:00
2021-12-28 10:18:18 +08:00
2022-01-27 19:21:48 +08:00
2022-02-09 23:05:45 +08:00
2021-05-25 17:43:57 +02:00
2021-05-25 17:43:57 +02:00
2021-05-25 17:43:57 +02:00
2021-08-26 14:01:24 +08:00
2021-05-25 17:43:57 +02:00
2022-01-12 11:30:29 +08:00
2022-02-09 23:05:45 +08:00