diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index e01e70c24ca203c18e13567d763e74060e258b5a..ad1089c713e526d3cca7a03640f7da08ef5746a8 100644 --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c @@ -1740,10 +1740,10 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr, err = mmc_select_hs400(card); if (err) goto free_card; - } else if (mmc_card_hs(card)) { + } else { /* Select the desired bus width optionally */ err = mmc_select_bus_width(card); - if (err > 0) { + if (err > 0 && mmc_card_hs(card)) { err = mmc_select_hs_ddr(card); if (err) goto free_card;