On Tue, Sep 23, 2014 at 09:27:49AM +0200, Ulf Hansson wrote: > 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? > SDHCI_QUIRK_BROKEN_CARD_DETECTION seems only for controller CD function. Thus even we're using gpio_cd, we still have this quirk set for controller to avoid enable controller cd interrupts. Does it make sense? Regards Dong Aisheng > 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