提交 b1f517ed 编写于 作者: P Peter Maydell 提交者: Andrzej Zaborowski

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: NPeter Maydell <peter.maydell@linaro.org>
Signed-off-by: NAndrzej Zaborowski <andrew.zaborowski@intel.com>
上级 53bb8cc4
......@@ -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:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册