aboutsummaryrefslogtreecommitdiff
path: root/hw/sd
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <f4bug@amsat.org>2021-06-07 17:24:58 +0200
committerCédric Le Goater <clg@kaod.org>2023-09-01 11:40:04 +0200
commit132011396f167fbf2199ad880163fe51fd40bd5d (patch)
treef3f73f1022431836e321e38396e8e612e679bf8d /hw/sd
parent24965082a777f8041890c443230f3d0ae555d764 (diff)
downloadqemu-132011396f167fbf2199ad880163fe51fd40bd5d.zip
qemu-132011396f167fbf2199ad880163fe51fd40bd5d.tar.gz
qemu-132011396f167fbf2199ad880163fe51fd40bd5d.tar.bz2
hw/sd: When card is in wrong state, log which state it is
We report the card is in an inconsistent state, but don't precise in which state it is. Add this information, as it is useful when debugging problems. Since we will reuse this code, extract as sd_invalid_state_for_cmd() helper. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Message-Id: <20210624142209.1193073-2-f4bug@amsat.org> Signed-off-by: Cédric Le Goater <clg@kaod.org>
Diffstat (limited to 'hw/sd')
-rw-r--r--hw/sd/sd.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index 0be9ee9..4412559 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -966,6 +966,14 @@ static bool address_in_range(SDState *sd, const char *desc,
return true;
}
+static sd_rsp_type_t sd_invalid_state_for_cmd(SDState *sd, SDRequest req)
+{
+ qemu_log_mask(LOG_GUEST_ERROR, "SD: CMD%i in a wrong state: %s\n",
+ req.cmd, sd_state_name(sd->state));
+
+ return sd_illegal;
+}
+
static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req)
{
uint32_t rca = 0x0000;
@@ -1534,9 +1542,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req)
return sd_illegal;
}
- qemu_log_mask(LOG_GUEST_ERROR, "SD: CMD%i in a wrong state: %s\n",
- req.cmd, sd_state_name(sd->state));
- return sd_illegal;
+ return sd_invalid_state_for_cmd(sd, req);
}
static sd_rsp_type_t sd_app_command(SDState *sd,