|
@@ -208,7 +208,7 @@ static int sdio_card_irq_get(struct mmc_card *card)
|
|
|
host->sdio_irqs--;
|
|
|
return err;
|
|
|
}
|
|
|
- } else {
|
|
|
+ } else if (host->caps & MMC_CAP_SDIO_IRQ) {
|
|
|
mmc_host_clk_hold(host);
|
|
|
host->ops->enable_sdio_irq(host, 1);
|
|
|
mmc_host_clk_release(host);
|
|
@@ -229,7 +229,7 @@ static int sdio_card_irq_put(struct mmc_card *card)
|
|
|
if (!(host->caps2 & MMC_CAP2_SDIO_IRQ_NOTHREAD)) {
|
|
|
atomic_set(&host->sdio_irq_thread_abort, 1);
|
|
|
kthread_stop(host->sdio_irq_thread);
|
|
|
- } else {
|
|
|
+ } else if (host->caps & MMC_CAP_SDIO_IRQ) {
|
|
|
mmc_host_clk_hold(host);
|
|
|
host->ops->enable_sdio_irq(host, 0);
|
|
|
mmc_host_clk_release(host);
|