Message ID | 1483644245-7538-1-git-send-email-stefan.wahren@i2se.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
+stable On 5 January 2017 at 20:24, Stefan Wahren <stefan.wahren@i2se.com> wrote: > According to the code the intention is to append 8 SCK cycles > instead of 4 at end of a MMC_STOP_TRANSMISSION command. But this > will never happened because it's an AC command not an ADTC command. > So fix this by moving the statement into the right function. > > Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> > Fixes: e4243f13d10e (mmc: mxs-mmc: add mmc host driver for i.MX23/28) Thanks, applied for fixes and added a stable tag. Kind regards Uffe > --- > drivers/mmc/host/mxs-mmc.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c > index 44ecebd..c8b8ac6 100644 > --- a/drivers/mmc/host/mxs-mmc.c > +++ b/drivers/mmc/host/mxs-mmc.c > @@ -309,6 +309,9 @@ static void mxs_mmc_ac(struct mxs_mmc_host *host) > cmd0 = BF_SSP(cmd->opcode, CMD0_CMD); > cmd1 = cmd->arg; > > + if (cmd->opcode == MMC_STOP_TRANSMISSION) > + cmd0 |= BM_SSP_CMD0_APPEND_8CYC; > + > if (host->sdio_irq_en) { > ctrl0 |= BM_SSP_CTRL0_SDIO_IRQ_CHECK; > cmd0 |= BM_SSP_CMD0_CONT_CLKING_EN | BM_SSP_CMD0_SLOW_CLKING_EN; > @@ -417,8 +420,7 @@ static void mxs_mmc_adtc(struct mxs_mmc_host *host) > ssp->base + HW_SSP_BLOCK_SIZE); > } > > - if ((cmd->opcode == MMC_STOP_TRANSMISSION) || > - (cmd->opcode == SD_IO_RW_EXTENDED)) > + if (cmd->opcode == SD_IO_RW_EXTENDED) > cmd0 |= BM_SSP_CMD0_APPEND_8CYC; > > cmd1 = cmd->arg; > -- > 1.7.9.5 > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c index 44ecebd..c8b8ac6 100644 --- a/drivers/mmc/host/mxs-mmc.c +++ b/drivers/mmc/host/mxs-mmc.c @@ -309,6 +309,9 @@ static void mxs_mmc_ac(struct mxs_mmc_host *host) cmd0 = BF_SSP(cmd->opcode, CMD0_CMD); cmd1 = cmd->arg; + if (cmd->opcode == MMC_STOP_TRANSMISSION) + cmd0 |= BM_SSP_CMD0_APPEND_8CYC; + if (host->sdio_irq_en) { ctrl0 |= BM_SSP_CTRL0_SDIO_IRQ_CHECK; cmd0 |= BM_SSP_CMD0_CONT_CLKING_EN | BM_SSP_CMD0_SLOW_CLKING_EN; @@ -417,8 +420,7 @@ static void mxs_mmc_adtc(struct mxs_mmc_host *host) ssp->base + HW_SSP_BLOCK_SIZE); } - if ((cmd->opcode == MMC_STOP_TRANSMISSION) || - (cmd->opcode == SD_IO_RW_EXTENDED)) + if (cmd->opcode == SD_IO_RW_EXTENDED) cmd0 |= BM_SSP_CMD0_APPEND_8CYC; cmd1 = cmd->arg;
According to the code the intention is to append 8 SCK cycles instead of 4 at end of a MMC_STOP_TRANSMISSION command. But this will never happened because it's an AC command not an ADTC command. So fix this by moving the statement into the right function. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Fixes: e4243f13d10e (mmc: mxs-mmc: add mmc host driver for i.MX23/28) --- drivers/mmc/host/mxs-mmc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)