[MMC] PXA and i.MX: don't avoid sending stop command on error
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Tue, 2 May 2006 19:02:39 +0000 (20:02 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 2 May 2006 19:02:39 +0000 (20:02 +0100)
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>
drivers/mmc/imxmmc.c
drivers/mmc/pxamci.c

index 07f36c4..bc27192 100644 (file)
@@ -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 {
index eb42cb3..15a5caa 100644 (file)
@@ -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 {