aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/meson-mx-sdio.c
diff options
context:
space:
mode:
authorMartin Blumenstingl <martin.blumenstingl@googlemail.com>2020-04-16 20:35:12 +0200
committerUlf Hansson <ulf.hansson@linaro.org>2020-04-20 09:24:39 +0200
commite53b868b3cf5beeaa2f851ec6740112bf4d6a8cb (patch)
treed329df70e7d049360b7116eb210a8526e825ebfd /drivers/mmc/host/meson-mx-sdio.c
parentmmc: core: make mmc_interrupt_hpi() static (diff)
downloadlinux-dev-e53b868b3cf5beeaa2f851ec6740112bf4d6a8cb.tar.xz
linux-dev-e53b868b3cf5beeaa2f851ec6740112bf4d6a8cb.zip
mmc: meson-mx-sdio: Set MMC_CAP_WAIT_WHILE_BUSY
The Meson SDIO controller uses the DAT0 lane for hardware busy detection. Set MMC_CAP_WAIT_WHILE_BUSY accordingly. This fixes the following error observed with Linux 5.7 (pre-rc-1): mmc1: Card stuck being busy! __mmc_poll_for_busy blk_update_request: I/O error, dev mmcblk1, sector 17111080 op 0x3:(DISCARD) flags 0x0 phys_seg 1 prio class 0 Fixes: ed80a13bb4c4c9 ("mmc: meson-mx-sdio: Add a driver for the Amlogic Meson8 and Meson8b SoCs") Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20200416183513.993763-2-martin.blumenstingl@googlemail.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc/host/meson-mx-sdio.c')
-rw-r--r--drivers/mmc/host/meson-mx-sdio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mmc/host/meson-mx-sdio.c b/drivers/mmc/host/meson-mx-sdio.c
index 8b038e7b2cd3..fe02130237a8 100644
--- a/drivers/mmc/host/meson-mx-sdio.c
+++ b/drivers/mmc/host/meson-mx-sdio.c
@@ -570,7 +570,7 @@ static int meson_mx_mmc_add_host(struct meson_mx_mmc_host *host)
mmc->f_max = clk_round_rate(host->cfg_div_clk,
clk_get_rate(host->parent_clk));
- mmc->caps |= MMC_CAP_ERASE | MMC_CAP_CMD23;
+ mmc->caps |= MMC_CAP_ERASE | MMC_CAP_CMD23 | MMC_CAP_WAIT_WHILE_BUSY;
mmc->ops = &meson_mx_mmc_ops;
ret = mmc_of_parse(mmc);