On 22 September 2014 11:12, Dong Aisheng <b29396@xxxxxxxxxxxxx> wrote: > Except SDHCI_QUIRK_BROKEN_CARD_DETECTION and MMC_CAP_NONREMOVABLE, > we also do not need to handle controller native card detect interrupt > for gpio as card detect case. > If we wrong enabled the card detect interrupt for gpio case, > it will cause a lot of unexpected card detect interrupts during data transfer > which should not happen. > > Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> > --- > drivers/mmc/host/sdhci.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c > index 7481bd8..85cbf45 100644 > --- a/drivers/mmc/host/sdhci.c > +++ b/drivers/mmc/host/sdhci.c > @@ -136,9 +136,10 @@ static void sdhci_dumpregs(struct sdhci_host *host) > static void sdhci_set_card_detection(struct sdhci_host *host, bool enable) > { > u32 present; > + int gpio_cd = mmc_gpio_get_cd(host->mmc); > > if ((host->quirks & SDHCI_QUIRK_BROKEN_CARD_DETECTION) || > - (host->mmc->caps & MMC_CAP_NONREMOVABLE)) > + (host->mmc->caps & MMC_CAP_NONREMOVABLE) || !IS_ERR_VALUE(gpio_cd)) If you have a properly working gpio_cd, then why does you also have SDHCI_QUIRK_BROKEN_CARD_DETECTION set? Isn't that the actual problem? Kind regards Uffe > return; > > if (enable) { > -- > 1.7.8 > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html