[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 02/25] hw/sd: When card is in wrong state, log which state it
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v2 02/25] hw/sd: When card is in wrong state, log which state it is |
Date: |
Mon, 30 May 2022 21:37:53 +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 7e3bb12b1a..b0e7a7e6d0 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.36.1
- [PATCH v2 00/25] hw/sd: Rework models for eMMC support, Philippe Mathieu-Daudé, 2022/05/30
- [PATCH v2 01/25] hw/sd/sdcard: Return ILLEGAL for CMD19/CMD23 prior SD spec v3.01, Philippe Mathieu-Daudé, 2022/05/30
- [PATCH v2 02/25] hw/sd: When card is in wrong state, log which state it is,
Philippe Mathieu-Daudé <=
- [PATCH v2 03/25] hw/sd: When card is in wrong state, log which spec version is used, Philippe Mathieu-Daudé, 2022/05/30
- [PATCH v2 04/25] hw/sd: Move proto_name to SDProto structure, Philippe Mathieu-Daudé, 2022/05/30
- [PATCH v2 05/25] hw/sd: Introduce sd_cmd_handler type, Philippe Mathieu-Daudé, 2022/05/30
- [PATCH v2 06/25] hw/sd: Add sd_cmd_illegal() handler, Philippe Mathieu-Daudé, 2022/05/30
- [PATCH v2 07/25] hw/sd: Add sd_cmd_unimplemented() handler, Philippe Mathieu-Daudé, 2022/05/30
- [PATCH v2 08/25] hw/sd: Add sd_cmd_GO_IDLE_STATE() handler, Philippe Mathieu-Daudé, 2022/05/30
- [PATCH v2 09/25] hw/sd: Add sd_cmd_SEND_OP_CMD() handler, Philippe Mathieu-Daudé, 2022/05/30
- [PATCH v2 10/25] hw/sd: Add sd_cmd_ALL_SEND_CID() handler, Philippe Mathieu-Daudé, 2022/05/30
- [PATCH v2 11/25] hw/sd: Add sd_cmd_SEND_RELATIVE_ADDR() handler, Philippe Mathieu-Daudé, 2022/05/30