[PATCH V1 1/1] mmc:sdhci-pci-o2micro:fix card detect issue because card detect debouncing isn't done

From: Chevron Li
Date: Thu Jun 02 2022 - 09:26:03 EST


get_cd result is uncorrect during card detect debouncing
we need to wait card detect stable before return get_cd result

Signed-off-by: Chevron Li<chevron.li@xxxxxxxxxxxxxx>
---
change in V1:
add wait card detect stable logical before return card detect result.
---
drivers/mmc/host/sdhci-pci-o2micro.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/mmc/host/sdhci-pci-o2micro.c b/drivers/mmc/host/sdhci-pci-o2micro.c
index 92c20cb8074a..0d4d343dbb77 100644
--- a/drivers/mmc/host/sdhci-pci-o2micro.c
+++ b/drivers/mmc/host/sdhci-pci-o2micro.c
@@ -152,6 +152,8 @@ static int sdhci_o2_get_cd(struct mmc_host *mmc)

if (!(sdhci_readw(host, O2_PLL_DLL_WDT_CONTROL1) & O2_PLL_LOCK_STATUS))
sdhci_o2_enable_internal_clock(host);
+ else
+ sdhci_o2_wait_card_detect_stable(host);

return !!(sdhci_readl(host, SDHCI_PRESENT_STATE) & SDHCI_CARD_PRESENT);
}

base-commit: d1dc87763f406d4e67caf16dbe438a5647692395
--
2.32.0