Skip to content

Commit

Permalink
mmc: core: Fix access to HS400-ES devices
Browse files Browse the repository at this point in the history
HS400-ES devices fail to initialize with the following error messages.

mmc1: power class selection to bus width 8 ddr 0 failed
mmc1: error -110 whilst initialising MMC card

This was seen on Samsung Chromebook Plus. Code analysis points to
commit 3d4ef32 ("mmc: core: fix multi-bit bus width without
high-speed mode"), which attempts to set the bus width for all but
HS200 devices unconditionally. However, for HS400-ES, the bus width
is already selected.

Cc: Anssi Hannula <[email protected]>
Cc: Douglas Anderson <[email protected]>
Cc: Brian Norris <[email protected]>
Fixes: 3d4ef32 ("mmc: core: fix multi-bit bus width ...")
Signed-off-by: Guenter Roeck <[email protected]>
Reviewed-by: Douglas Anderson <[email protected]>
Reviewed-by: Shawn Lin <[email protected]>
Tested-by: Heiko Stuebner <[email protected]>
Cc: <[email protected]>
Signed-off-by: Ulf Hansson <[email protected]>
  • Loading branch information
groeck authored and storulf committed Mar 14, 2017
1 parent 1668103 commit 773dc11
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/mmc/core/mmc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1730,7 +1730,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
err = mmc_select_hs400(card);
if (err)
goto free_card;
} else {
} else if (!mmc_card_hs400es(card)) {
/* Select the desired bus width optionally */
err = mmc_select_bus_width(card);
if (err > 0 && mmc_card_hs(card)) {
Expand Down

0 comments on commit 773dc11

Please sign in to comment.