mirror of https://gitee.com/openkylin/linux.git
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: 0e68de6aa7
("mmc: mmci: sdmmc: add busy_complete callback")
Cc: stable@vger.kernel.org
Signed-off-by: Ludovic Barre <ludovic.barre@st.com>
Link: https://lore.kernel.org/r/20200325143409.13005-2-ludovic.barre@st.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
ffae422dfe
commit
d4a384cb56
|
@ -358,11 +358,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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue