Re: [PATCH] genirq: Fix bad IRQ_ONSHOT in forced IRQ setting

From: Kohji Okuno
Date: Thu Sep 17 2015 - 04:21:41 EST


> On Thu, 17 Sep 2015, Kohji Okuno wrote:
>> If handler and thread_fn have valid function pointers for each
>> in request_thread_irq(), IRQF_ONESHOT is set unnecessarily in
>> irq_setup_forces_threading() in case of threadirqs.
>> As this result, the IRQ handler will not be called.
>
> That explanation does not make sense. Which handler is not called?
>
> Thanks,
>
> tglx

Hi tglx,

Please refer to drivers/mmc/host/sdhci.c. sdhci uses sdhci_irq and
sdhci_thread_irq as the followings.

3366 sdhci_init(host, 0);
3367
3368 ret = request_threaded_irq(host->irq, sdhci_irq, sdhci_thread_irq,
3369 IRQF_SHARED, mmc_hostname(mmc), host);

When I tested SDIO card, sdhci_irq() was not called after 1st SDIO interrupt.
After I applied my patch, this worked good.

Best regards,
Kohji Okuno
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/