Skip to content

Commit d4a384c

Browse files
ludovicbarrestorulf
authored andcommitted
mmc: mmci_sdmmc: Fix clear busyd0end irq flag
The busyd0 line transition can be very fast. The busy request may be completed by busy_d0end, without waiting for the busy_d0 steps. Therefore, clear the busyd0end irq flag, even if no busy_status. Fixes: 0e68de6 ("mmc: mmci: sdmmc: add busy_complete callback") Cc: [email protected] Signed-off-by: Ludovic Barre <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
1 parent ffae422 commit d4a384c

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/mmc/host/mmci_stm32_sdmmc.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -358,11 +358,11 @@ static bool sdmmc_busy_complete(struct mmci_host *host, u32 status, u32 err_msk)
358358
if (host->busy_status) {
359359
writel_relaxed(mask & ~host->variant->busy_detect_mask,
360360
base + MMCIMASK0);
361-
writel_relaxed(host->variant->busy_detect_mask,
362-
base + MMCICLEAR);
363361
host->busy_status = 0;
364362
}
365363

364+
writel_relaxed(host->variant->busy_detect_mask, base + MMCICLEAR);
365+
366366
return true;
367367
}
368368

0 commit comments

Comments
 (0)