[PATCH] mci: eMMC responds to CMD12 with R1 in case of read
Yann Sionneau
ysionneau at kalrayinc.com
Wed Nov 29 01:36:42 PST 2023
eMMC specification JESD84-B51 states page 126
table 49 — Basic commands (class 0 and class 1) that
CMD12 (STOP_TRANSMISSION) response is R1 for read cases
and R1b for write cases.
Fix wrong reponse type in eMMC read cases.
Signed-off-by: Yann Sionneau <ysionneau at kalrayinc.com>
---
drivers/mci/mci-core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/mci/mci-core.c b/drivers/mci/mci-core.c
index 3cd6fc73f4..f34023f580 100644
--- a/drivers/mci/mci-core.c
+++ b/drivers/mci/mci-core.c
@@ -298,7 +298,8 @@ static int mci_read_block(struct mci *mci, void *dst, int blocknum,
ret = mci_send_cmd(mci, &cmd, &data);
if (ret || blocks > 1) {
- mci_setup_cmd(&cmd, MMC_CMD_STOP_TRANSMISSION, 0, MMC_RSP_R1);
+ mci_setup_cmd(&cmd, MMC_CMD_STOP_TRANSMISSION, 0,
+ IS_SD(mci) ? MMC_RSP_R1b : MMC_RSP_R1);
mci_send_cmd(mci, &cmd, NULL);
}
return ret;
--
2.42.0
More information about the barebox
mailing list