We should wait until unbusy before the next request. But this does't need if the command is CMD13, which can access SD Status register regardless of data busy. Signed-off-by: Addy Ke <addy.ke@xxxxxxxxxxxxxx> --- Changes in v4: - CMD13 doesn't need wait until unbusy. drivers/mmc/host/dw_mmc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index ac21863..692d97a 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -1076,6 +1076,10 @@ static void dw_mci_request(struct mmc_host *mmc, struct mmc_request *mrq) WARN_ON(slot->mrq); + /* Wait until unbusy if the command isn't CMD13 */ + if (mrq->cmd->opcode != MMC_SEND_STATUS) + dw_mci_wait_busy(slot); + /* * The check for card presence and queueing of the request must be * atomic, otherwise the card could be removed in between and the -- 1.8.3.2 -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html