hw/sd/sdcard: Do not abort when reading DAT lines on invalid cmd state

Guest should not try to read the DAT lines from invalid
command state. If it still insists to do so, return a
dummy value.

Cc: qemu-stable@nongnu.org
Fixes: e2dec2eab0 ("hw/sd/sdcard: Remove default case in read/write on DAT lines")
Reported-by: Zheyu Ma <zheyuma97@gmail.com>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2454
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240730092138.32443-3-philmd@linaro.org>
This commit is contained in:
Philippe Mathieu-Daudé 2024-07-30 09:44:46 +02:00
parent 22d5fb42a8
commit bd6207903e
1 changed files with 3 additions and 1 deletions

View File

@ -2540,7 +2540,9 @@ uint8_t sd_read_byte(SDState *sd)
break;
default:
g_assert_not_reached();
qemu_log_mask(LOG_GUEST_ERROR, "%s: DAT read illegal for command %s\n",
__func__, sd->last_cmd_name);
return dummy_byte;
}
return ret;