[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 14/26] hw/sd: When card is in wrong state, log which state it is
From: |
Cédric Le Goater |
Subject: |
[PULL 14/26] hw/sd: When card is in wrong state, log which state it is |
Date: |
Fri, 1 Sep 2023 11:42:02 +0200 |
From: Philippe Mathieu-Daudé <f4bug@amsat.org>
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>
---
hw/sd/sd.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index 0be9ee965ac9..4412559c05be 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,
--
2.41.0
- [PULL 03/26] hw/i2c/aspeed: Fix TXBUF transmission start position error, (continued)
- [PULL 03/26] hw/i2c/aspeed: Fix TXBUF transmission start position error, Cédric Le Goater, 2023/09/01
- [PULL 04/26] hw/i2c/aspeed: Add support for buffer organization, Cédric Le Goater, 2023/09/01
- [PULL 06/26] hw/ssi: Add a "cs" property to SSIPeripheral, Cédric Le Goater, 2023/09/01
- [PULL 07/26] hw/ssi: Introduce a ssi_get_cs() helper, Cédric Le Goater, 2023/09/01
- [PULL 09/26] hw/ssi: Check for duplicate CS indexes, Cédric Le Goater, 2023/09/01
- [PULL 08/26] aspeed/smc: Wire CS lines at reset, Cédric Le Goater, 2023/09/01
- [PULL 12/26] aspeed: Get the BlockBackend of FMC0 from the flash device, Cédric Le Goater, 2023/09/01
- [PULL 11/26] m25p80: Introduce an helper to retrieve the BlockBackend of a device, Cédric Le Goater, 2023/09/01
- [PULL 10/26] aspeed: Create flash devices only when defaults are enabled, Cédric Le Goater, 2023/09/01
- [PULL 13/26] hw/sd/sdcard: Return ILLEGAL for CMD19/CMD23 prior SD spec v3.01, Cédric Le Goater, 2023/09/01
- [PULL 14/26] hw/sd: When card is in wrong state, log which state it is,
Cédric Le Goater <=
- [PULL 17/26] hw/sd: Introduce sd_cmd_handler type, Cédric Le Goater, 2023/09/01
- [PULL 15/26] hw/sd: When card is in wrong state, log which spec version is used, Cédric Le Goater, 2023/09/01
- [PULL 19/26] hw/sd: Add sd_cmd_unimplemented() handler, Cédric Le Goater, 2023/09/01
- [PULL 16/26] hw/sd: Move proto_name to SDProto structure, Cédric Le Goater, 2023/09/01
- [PULL 18/26] hw/sd: Add sd_cmd_illegal() handler, Cédric Le Goater, 2023/09/01
- [PULL 21/26] hw/sd: Add sd_cmd_SEND_OP_CMD() handler, Cédric Le Goater, 2023/09/01
- [PULL 22/26] hw/sd: Add sd_cmd_ALL_SEND_CID() handler, Cédric Le Goater, 2023/09/01
- [PULL 23/26] hw/sd: Add sd_cmd_SEND_RELATIVE_ADDR() handler, Cédric Le Goater, 2023/09/01
- [PULL 24/26] hw/sd: Add sd_cmd_SEND_TUNING_BLOCK() handler, Cédric Le Goater, 2023/09/01
- [PULL 20/26] hw/sd: Add sd_cmd_GO_IDLE_STATE() handler, Cédric Le Goater, 2023/09/01