sdmmc: wait for command done event even if data transfer is over
sdmmc: wait for command done event even if data transfer is over

This fixes errors logged on the console: sdmmc_req:
handle_idle_state_events unhandled: 00000004 00000000

The issue happens if "data done" event occurs before "command done".
State machine code did not check *which* event occurred in
SENDING_CMD state, and went to IDLE or SENDING_DATA state on any
non-error event. In this case, we can't process "data done" event
until command has completed. This change introduces "unhandled event"
mask, which is carried over from one run of process_events to the
other. This allows waiting for the "command done" event to complete,
and then process "data done" event.

Ref TW17126.

armada-ai/esp-idf,espressif/esp-idf,armada-ai/esp-idf,www220/esp-idf,armada-ai/esp-idf,www220/esp-idf,espressif/esp-idf,mashaoze/esp-idf,mashaoze/esp-idf,mashaoze/esp-idf,espressif/esp-idf,armada-ai/esp-idf,www220/esp-idf,mashaoze/esp-idf,espressif/esp-idf,mashaoze/esp-idf,www220/esp-idf,www220/esp-idf