mmc: msm_sdcc: Reset Data Path State Machine after every transaction
Reset DPSM by just clearing ENABLE bit in MMCIDATACTRL register
Signed-off-by: Krishna Konda <kkonda@codeaurora.org>
diff --git a/drivers/mmc/host/msm_sdcc.c b/drivers/mmc/host/msm_sdcc.c
index f05647d..22a788e 100644
--- a/drivers/mmc/host/msm_sdcc.c
+++ b/drivers/mmc/host/msm_sdcc.c
@@ -297,7 +297,8 @@
{
host->curr.data = NULL;
host->curr.got_dataend = 0;
- writel_relaxed(0, host->base + MMCIDATACTRL);
+ writel_relaxed(readl_relaxed(host->base + MMCIDATACTRL) &
+ (~(MCI_DPSM_ENABLE)), host->base + MMCIDATACTRL);
msmsdcc_delay(host); /* Allow the DPSM to be reset */
}