+ ret = request_threaded_irq(host->irq, sdhci_irq, + sdhci_thread_irq, IRQF_SHARED, + mmc_hostname(host->mmc), host); + if (ret) + return ret; + } else { + sdhci_disable_irq_wakeups(host); + disable_irq_wake(host->irq); + } + sdhci_enable_card_detection(host); return ...
> sdhci_init() will clear all irqs and set the needed irqs. So > logically sdhci_init() should be called before request irq. > > If not, some irqs may be triggled and handled wrongly. Take > the following into consideration, after request irq, if > SDIO card interrupt enabled, a s...
(struct sdhci_host *host); 657extern int sdhci_resume_host(struct sdhci_host *host); 658extern void sdhci_enable_irq_wakeups(struct sdhci_host *host); 659extern int sdhci_runtime_suspend_host(struct sdhci_host *host); 660extern int sdhci_runtime_resume_host(struct sdhci_host *host); ...