aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/core/sdio.c
diff options
context:
space:
mode:
authorShawn Lin <shawn.lin@rock-chips.com>2018-02-27 09:26:34 +0800
committerUlf Hansson <ulf.hansson@linaro.org>2018-03-15 09:32:30 +0100
commit1e178270dfcf2b576b0060b382836219dcda83b5 (patch)
tree319b1f555e42f39567428d72b7130633b94cb273 /drivers/mmc/core/sdio.c
parentmmc: core: Don't try UHS-I mode if 4-bit mode isn't supported (diff)
downloadlinux-dev-1e178270dfcf2b576b0060b382836219dcda83b5.tar.xz
linux-dev-1e178270dfcf2b576b0060b382836219dcda83b5.zip
mmc: sdio: Check the return value of sdio_enable_4bit_bus
Since we could move card->host->caps & MMC_CAP_4_BIT_DATA ahead of mmc_sdio_init_uhs_card, in mmc_host_uhs(). So there we could save this bit to check that. Also, if the process of sdio_enable_4bit_bus goes wrong, we should bails out early. Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc/core/sdio.c')
-rw-r--r--drivers/mmc/core/sdio.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c
index cc43687ca241..c599a628a387 100644
--- a/drivers/mmc/core/sdio.c
+++ b/drivers/mmc/core/sdio.c
@@ -518,11 +518,10 @@ static int mmc_sdio_init_uhs_card(struct mmc_card *card)
if (!card->scr.sda_spec3)
return 0;
- /*
- * Switch to wider bus (if supported).
- */
- if (card->host->caps & MMC_CAP_4_BIT_DATA)
- err = sdio_enable_4bit_bus(card);
+ /* Switch to wider bus */
+ err = sdio_enable_4bit_bus(card);
+ if (err)
+ goto out;
/* Set the driver strength for the card */
sdio_select_driver_type(card);