mmc: msm_sdcc: Set DAT_CMD bit for all ADTC commands
Previously, DAT_CMD bit was not being set for ACMD51, even though it
is a read SCR command. This prevented data timeout interrupts in some
cases.
This fix sets the DAT_CMD bit for all ADTC
(Addressed Data Transfer Commands) command types e.g. CMD24/25.
CRs-Fixed: 359800
Change-Id: I70ae20474eadd803798b8dc054816d7687a79886
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
diff --git a/drivers/mmc/host/msm_sdcc.c b/drivers/mmc/host/msm_sdcc.c
index e458429..3b115ab 100644
--- a/drivers/mmc/host/msm_sdcc.c
+++ b/drivers/mmc/host/msm_sdcc.c
@@ -1021,11 +1021,8 @@
if (/*interrupt*/0)
*c |= MCI_CPSM_INTERRUPT;
- if (cmd->opcode == MMC_READ_SINGLE_BLOCK ||
- cmd->opcode == MMC_READ_MULTIPLE_BLOCK ||
- cmd->opcode == MMC_WRITE_BLOCK ||
- cmd->opcode == MMC_WRITE_MULTIPLE_BLOCK ||
- cmd->opcode == SD_IO_RW_EXTENDED)
+ /* DAT_CMD bit should be set for all ADTC */
+ if (mmc_cmd_type(cmd) == MMC_CMD_ADTC)
*c |= MCI_CSPM_DATCMD;
/* Check if AUTO CMD19 is required or not? */