Messages in this thread Patch in this message | | | From | Ludovic Barre <> | Subject | [PATCH 3/4] mmc: mmci_sdmmc: fix clear busyd0end irq flag | Date | Wed, 26 Feb 2020 09:40:13 +0100 |
| |
The busyd0 line transition can be very fast. The busy request may be completed by busy_d0end without wait the busy_d0 steps. The busyd0end irq flag must be cleared even if no busy_status.
Signed-off-by: Ludovic Barre <ludovic.barre@st.com> --- drivers/mmc/host/mmci_stm32_sdmmc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/mmc/host/mmci_stm32_sdmmc.c b/drivers/mmc/host/mmci_stm32_sdmmc.c index 7b781c897346..82b88293e742 100644 --- a/drivers/mmc/host/mmci_stm32_sdmmc.c +++ b/drivers/mmc/host/mmci_stm32_sdmmc.c @@ -363,11 +363,11 @@ static bool sdmmc_busy_complete(struct mmci_host *host, u32 status, u32 err_msk) if (host->busy_status) { writel_relaxed(mask & ~host->variant->busy_detect_mask, base + MMCIMASK0); - writel_relaxed(host->variant->busy_detect_mask, - base + MMCICLEAR); host->busy_status = 0; } + writel_relaxed(host->variant->busy_detect_mask, base + MMCICLEAR); + return true; } -- 2.17.1
| |