The send status command expects the status register to be returned as a
response. Without writing data back, whatever is on the stack will be
interpreted as the status register. There are a lot of fields in this
register, but fortunately all zeros is interpreted as "we don't support
anything."

Signed-off-by: Sean Anderson <sean...@gmail.com>
---

 drivers/mmc/sandbox_mmc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/mmc/sandbox_mmc.c b/drivers/mmc/sandbox_mmc.c
index 451fe4a4e5..35159451e1 100644
--- a/drivers/mmc/sandbox_mmc.c
+++ b/drivers/mmc/sandbox_mmc.c
@@ -57,6 +57,7 @@ static int sandbox_mmc_send_cmd(struct udevice *dev, struct 
mmc_cmd *cmd,
                break;
        case MMC_CMD_SEND_STATUS:
                cmd->response[0] = MMC_STATUS_RDY_FOR_DATA;
+               memset(data->dest, '\0', data->blocks * data->blocksize);
                break;
        case MMC_CMD_SELECT_CARD:
                break;
-- 
2.35.1

Reply via email to