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>
This commit is contained in:
Linus Walleij 2023-06-16 22:42:21 +02:00 committed by Ulf Hansson
parent 479d8e61f6
commit 8a6a9e7972
1 changed files with 1 additions and 0 deletions

View File

@ -713,6 +713,7 @@ static bool ux500_busy_complete(struct mmci_host *host, u32 status, u32 err_msk)
*/ */
if (host->busy_status && if (host->busy_status &&
(status & host->variant->busy_detect_flag)) { (status & host->variant->busy_detect_flag)) {
host->busy_status |= status & (MCI_CMDSENT | MCI_CMDRESPEND);
writel(host->variant->busy_detect_mask, base + MMCICLEAR); writel(host->variant->busy_detect_mask, base + MMCICLEAR);
return false; return false;
} }