From: Ludovic Barre Date: Wed, 7 Nov 2018 09:30:40 +0000 (+0100) Subject: mmc: mmci: send stop command if sbc error issue X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=09b4f706736fb9f9af763d8af41bf6f99944dc0c;p=openwrt%2Fstaging%2Fblogic.git mmc: mmci: send stop command if sbc error issue Refer to "4.15 set block count command" of sd specification: Host needs to issue CMD12 if any error is detected in the CMD18 and CMD25 operations. In sbc case, the data->stop is fill by framework. Signed-off-by: Ludovic Barre Tested-by: Ulf Hansson Signed-off-by: Ulf Hansson --- diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c index 82bab35fff41..13fa640d86d6 100644 --- a/drivers/mmc/host/mmci.c +++ b/drivers/mmc/host/mmci.c @@ -1190,11 +1190,10 @@ mmci_data_irq(struct mmci_host *host, struct mmc_data *data, /* The error clause is handled above, success! */ data->bytes_xfered = data->blksz * data->blocks; - if (!data->stop || host->mrq->sbc) { + if (!data->stop || (host->mrq->sbc && !data->error)) mmci_request_end(host, data->mrq); - } else { + else mmci_start_command(host, data->stop, 0); - } } }