mirror of https://gitee.com/openkylin/qemu.git
hw/sd.c: Handle CRC and locked-card errors in normal code path
Handle returning CRC and locked-card errors in the same code path we use for other responses. This makes no difference in behaviour but means that these error responses will be printed by the debug logging code. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
This commit is contained in:
parent
53bb8cc485
commit
b1f517ed43
7
hw/sd.c
7
hw/sd.c
|
@ -1296,7 +1296,8 @@ int sd_do_command(SDState *sd, SDRequest *req,
|
|||
|
||||
if (sd_req_crc_validate(req)) {
|
||||
sd->card_status |= COM_CRC_ERROR;
|
||||
return 0;
|
||||
rtype = sd_illegal;
|
||||
goto send_response;
|
||||
}
|
||||
|
||||
sd->card_status &= ~CARD_STATUS_B;
|
||||
|
@ -1306,7 +1307,8 @@ int sd_do_command(SDState *sd, SDRequest *req,
|
|||
if (!cmd_valid_while_locked(sd, req)) {
|
||||
sd->card_status |= ILLEGAL_COMMAND;
|
||||
fprintf(stderr, "SD: Card is locked\n");
|
||||
return 0;
|
||||
rtype = sd_illegal;
|
||||
goto send_response;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1322,6 +1324,7 @@ int sd_do_command(SDState *sd, SDRequest *req,
|
|||
|
||||
sd->current_cmd = req->cmd;
|
||||
|
||||
send_response:
|
||||
switch (rtype) {
|
||||
case sd_r1:
|
||||
case sd_r1b:
|
||||
|
|
Loading…
Reference in New Issue