]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
hw/sd/sdcard: Do not abort when reading DAT lines on invalid cmd state
authorPhilippe Mathieu-Daudé <philmd@linaro.org>
Tue, 30 Jul 2024 07:44:46 +0000 (09:44 +0200)
committerPhilippe Mathieu-Daudé <philmd@linaro.org>
Tue, 6 Aug 2024 08:22:52 +0000 (10:22 +0200)
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>

hw/sd/sd.c

index de27e34fc869c79892f60da924b1205be66edd58..a140a32ccd4695a700bf5bb54188e8303df6951f 100644 (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;