diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2023-06-16 22:42:21 +0200 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2023-06-19 13:14:26 +0200 |
commit | 8a6a9e79720a51f40835a8a7dc94cf02a58f0600 (patch) | |
tree | 439fc0b36131f28cefd764ac4ee72eb4cb39ef8f /drivers/mmc | |
parent | mmc: mmci: Unwind big if() clause (diff) | |
download | linux-8a6a9e79720a51f40835a8a7dc94cf02a58f0600.tar.xz linux-8a6a9e79720a51f40835a8a7dc94cf02a58f0600.zip |
mmc: mmci: Stash status while waiting for busy
Some interesting flags can arrive while we are waiting for
the first busy detect IRQ so OR then onto the stashed
flags so they are not missed.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20230405-pl180-busydetect-fix-v7-3-69a7164f2a61@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/host/mmci.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c index a3713e9a0ef4..93981046eb88 100644 --- a/drivers/mmc/host/mmci.c +++ b/drivers/mmc/host/mmci.c @@ -713,6 +713,7 @@ static bool ux500_busy_complete(struct mmci_host *host, u32 status, u32 err_msk) */ if (host->busy_status && (status & host->variant->busy_detect_flag)) { + host->busy_status |= status & (MCI_CMDSENT | MCI_CMDRESPEND); writel(host->variant->busy_detect_mask, base + MMCICLEAR); return false; } |