mmc: msm_sdcc: Don't set host->curr.mrq until after we're sure the busclk timer won't fire
Signed-off-by: San Mehat <san@google.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
diff --git a/drivers/mmc/host/msm_sdcc.c b/drivers/mmc/host/msm_sdcc.c
index d42a2dd..28899ee 100644
--- a/drivers/mmc/host/msm_sdcc.c
+++ b/drivers/mmc/host/msm_sdcc.c
@@ -853,8 +853,6 @@
return;
}
- host->curr.mrq = mrq;
-
/* Need to drop the host lock here in case
* the busclk wd fires
*/
@@ -863,6 +861,8 @@
msmsdcc_enable_clocks(host);
spin_lock_irqsave(&host->lock, flags);
+ host->curr.mrq = mrq;
+
if (mrq->data && mrq->data->flags & MMC_DATA_READ)
/* Queue/read data, daisy-chain command when data starts */
msmsdcc_start_data(host, mrq->data, mrq->cmd, 0);