Message ID | 20200325143409.13005-2-ludovic.barre@st.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mmc: mmci_sdmmc: fixes and improvements | expand |
On Wed, 25 Mar 2020 at 15:34, Ludovic Barre <ludovic.barre@st.com> wrote: > > 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> Applied for next, by adding a fixes+stable tag, thanks! Kind regards Uffe > --- > 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 f76e82f8f12f..d33e62bd6153 100644 > --- a/drivers/mmc/host/mmci_stm32_sdmmc.c > +++ b/drivers/mmc/host/mmci_stm32_sdmmc.c > @@ -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; > } > > -- > 2.17.1 >
diff --git a/drivers/mmc/host/mmci_stm32_sdmmc.c b/drivers/mmc/host/mmci_stm32_sdmmc.c index f76e82f8f12f..d33e62bd6153 100644 --- a/drivers/mmc/host/mmci_stm32_sdmmc.c +++ b/drivers/mmc/host/mmci_stm32_sdmmc.c @@ -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; }
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(-)