diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2006-05-02 20:02:39 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-05-02 20:02:39 +0100 |
commit | 58741e8b3603e56c3699550e8bc89cb136329343 (patch) | |
tree | 84896f991d3d7cb08d7ae0588f0bba9e2937b681 | |
parent | 37be4e7809e0581db85387e126ae4da68c3d6286 (diff) | |
download | op-kernel-dev-58741e8b3603e56c3699550e8bc89cb136329343.zip op-kernel-dev-58741e8b3603e56c3699550e8bc89cb136329343.tar.gz |
[MMC] PXA and i.MX: don't avoid sending stop command on error
Always send a stop command at the end of a data transfer. If we avoid
sending the stop command, some cards remain in data transfer mode, and
refuse to accept further read/write commands.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | drivers/mmc/imxmmc.c | 2 | ||||
-rw-r--r-- | drivers/mmc/pxamci.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mmc/imxmmc.c b/drivers/mmc/imxmmc.c index 07f36c4..bc27192 100644 --- a/drivers/mmc/imxmmc.c +++ b/drivers/mmc/imxmmc.c @@ -529,7 +529,7 @@ static int imxmci_data_done(struct imxmci_host *host, unsigned int stat) data_error = imxmci_finish_data(host, stat); - if (host->req->stop && (data_error == MMC_ERR_NONE)) { + if (host->req->stop) { imxmci_stop_clock(host); imxmci_start_cmd(host, host->req->stop, 0); } else { diff --git a/drivers/mmc/pxamci.c b/drivers/mmc/pxamci.c index eb42cb3..15a5caa 100644 --- a/drivers/mmc/pxamci.c +++ b/drivers/mmc/pxamci.c @@ -291,7 +291,7 @@ static int pxamci_data_done(struct pxamci_host *host, unsigned int stat) pxamci_disable_irq(host, DATA_TRAN_DONE); host->data = NULL; - if (host->mrq->stop && data->error == MMC_ERR_NONE) { + if (host->mrq->stop) { pxamci_stop_clock(host); pxamci_start_cmd(host, host->mrq->stop, 0); } else { |