aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/mmc/host/omap_hsmmc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 140425c215ad..cba71d69a79c 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -920,16 +920,17 @@ omap_hsmmc_xfer_done(struct omap_hsmmc_host *host, struct mmc_data *data)
920static void 920static void
921omap_hsmmc_cmd_done(struct omap_hsmmc_host *host, struct mmc_command *cmd) 921omap_hsmmc_cmd_done(struct omap_hsmmc_host *host, struct mmc_command *cmd)
922{ 922{
923 host->cmd = NULL;
924
925 if (host->mrq->sbc && (host->cmd == host->mrq->sbc) && 923 if (host->mrq->sbc && (host->cmd == host->mrq->sbc) &&
926 !host->mrq->sbc->error && !(host->flags & AUTO_CMD23)) { 924 !host->mrq->sbc->error && !(host->flags & AUTO_CMD23)) {
925 host->cmd = NULL;
927 omap_hsmmc_start_dma_transfer(host); 926 omap_hsmmc_start_dma_transfer(host);
928 omap_hsmmc_start_command(host, host->mrq->cmd, 927 omap_hsmmc_start_command(host, host->mrq->cmd,
929 host->mrq->data); 928 host->mrq->data);
930 return; 929 return;
931 } 930 }
932 931
932 host->cmd = NULL;
933
933 if (cmd->flags & MMC_RSP_PRESENT) { 934 if (cmd->flags & MMC_RSP_PRESENT) {
934 if (cmd->flags & MMC_RSP_136) { 935 if (cmd->flags & MMC_RSP_136) {
935 /* response type 2 */ 936 /* response type 2 */