From: Ludovic Desroches <ludovic.desroches@xxxxxxxxxxxxx> The commit e173f8911f09 mmc: core: Update CMD13 polling policy when switch to HS DDR mode in addition to fix the management of CRC error, changes the place where the DDR52 timing is set. Before this commit, the sequence was: - set width to 8 with MMC_HS timing - send the switch command - check the status - set width to 8 with MMC_DDR52 timing - send the switch command - check the status Now: - set width to 8 with MMC_HS timing - send the switch command - set width to 8 with MMC_DDR52 timing - check the status It may lead to get an error when checking the status with some devices. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxxxxxx> --- drivers/mmc/core/mmc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index 0fccca0..b837148 100644 --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c @@ -1062,7 +1062,7 @@ static int mmc_select_hs_ddr(struct mmc_card *card) EXT_CSD_BUS_WIDTH, ext_csd_bits, card->ext_csd.generic_cmd6_time, - MMC_TIMING_MMC_DDR52, + 0, true, true, true); if (err) { pr_err("%s: switch to bus width %d ddr failed\n", @@ -1106,6 +1106,9 @@ static int mmc_select_hs_ddr(struct mmc_card *card) if (err) err = __mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330); + if (!err) + mmc_set_timing(host, MMC_TIMING_MMC_DDR52); + return err; } -- 2.9.0 -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html