aboutsummaryrefslogtreecommitdiff
path: root/hw/sd
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <philmd@linaro.org>2024-07-30 09:44:46 +0200
committerPhilippe Mathieu-Daudé <philmd@linaro.org>2024-08-06 10:22:52 +0200
commitbd6207903eb81c0e876452bba25ed7d57ddf5f89 (patch)
tree137fb4175b97e38fc888ada4c058c856aa6c221c /hw/sd
parent22d5fb42a82378c208355ff4a27cf25fc1cd652e (diff)
downloadqemu-bd6207903eb81c0e876452bba25ed7d57ddf5f89.zip
qemu-bd6207903eb81c0e876452bba25ed7d57ddf5f89.tar.gz
qemu-bd6207903eb81c0e876452bba25ed7d57ddf5f89.tar.bz2
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>
Diffstat (limited to 'hw/sd')
-rw-r--r--hw/sd/sd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index de27e34..a140a32 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -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;