From: Ivan T. Ivanov Date: Mon, 6 Jul 2015 12:16:21 +0000 (+0300) Subject: mmc: sdhci: properly check card present state when quirk NO_CARD_NO_RESET is set X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=135b0a284d9c2bcfb64a5f7d90c439ede8bc5e06;p=deliverable%2Flinux.git mmc: sdhci: properly check card present state when quirk NO_CARD_NO_RESET is set Controller could have both NO_CARD_NO_RESET and BROKEN_CARD_DETECTION quirks set. Use sdhci_do_get_cd() when applying NO_CARD_NO_RESET, which properly check for BROKEN_CARD_DETECTION quirk. Signed-off-by: Ivan T. Ivanov Signed-off-by: Ulf Hansson --- diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index cb138d6ad1f2..c83d11080da0 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -207,8 +207,7 @@ EXPORT_SYMBOL_GPL(sdhci_reset); static void sdhci_do_reset(struct sdhci_host *host, u8 mask) { if (host->quirks & SDHCI_QUIRK_NO_CARD_NO_RESET) { - if (!(sdhci_readl(host, SDHCI_PRESENT_STATE) & - SDHCI_CARD_PRESENT)) + if (!sdhci_do_get_cd(host)) return; }