diff options
author | Corneliu Doban <cdoban@broadcom.com> | 2015-02-09 19:06:29 -0500 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2015-03-23 09:13:40 -0400 |
commit | 85cc1c33196abd0640e0195389c6683661afb83c (patch) | |
tree | 3029eefb6646742cd8a5ce8d4d666398e0b4b551 /drivers/mmc | |
parent | 3bfa6f030a01870a43e2a0652437a20b59bc3412 (diff) |
mmc: sdhci: do not set AUTO_CMD12 for multi-block CMD53
For CMD53 in block mode, the host does not need to stop the transfer,
as it stops when the block count (present in CMD53) is reached.
Signed-off-by: Corneliu Doban <cdoban@broadcom.com>
Signed-off-by: Scott Branden <sbranden@broadcom.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/host/sdhci.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 5cf35e5ae267..3d7ebbb82318 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <linux/mmc/mmc.h> | 28 | #include <linux/mmc/mmc.h> |
29 | #include <linux/mmc/host.h> | 29 | #include <linux/mmc/host.h> |
30 | #include <linux/mmc/card.h> | 30 | #include <linux/mmc/card.h> |
31 | #include <linux/mmc/sdio.h> | ||
31 | #include <linux/mmc/slot-gpio.h> | 32 | #include <linux/mmc/slot-gpio.h> |
32 | 33 | ||
33 | #include "sdhci.h" | 34 | #include "sdhci.h" |
@@ -931,7 +932,8 @@ static void sdhci_set_transfer_mode(struct sdhci_host *host, | |||
931 | * If we are sending CMD23, CMD12 never gets sent | 932 | * If we are sending CMD23, CMD12 never gets sent |
932 | * on successful completion (so no Auto-CMD12). | 933 | * on successful completion (so no Auto-CMD12). |
933 | */ | 934 | */ |
934 | if (!host->mrq->sbc && (host->flags & SDHCI_AUTO_CMD12)) | 935 | if (!host->mrq->sbc && (host->flags & SDHCI_AUTO_CMD12) && |
936 | (cmd->opcode != SD_IO_RW_EXTENDED)) | ||
935 | mode |= SDHCI_TRNS_AUTO_CMD12; | 937 | mode |= SDHCI_TRNS_AUTO_CMD12; |
936 | else if (host->mrq->sbc && (host->flags & SDHCI_AUTO_CMD23)) { | 938 | else if (host->mrq->sbc && (host->flags & SDHCI_AUTO_CMD23)) { |
937 | mode |= SDHCI_TRNS_AUTO_CMD23; | 939 | mode |= SDHCI_TRNS_AUTO_CMD23; |