On Mon, 11 Jun 2012, [email protected] wrote:

> Hi all
> 
> I noticed that mmc_cd_gpio_request() failed on request_threaded_irq().
> Now, I'm using v3.5-rc2 kernel.
> 
> current ${LINUX}/drivers/mmc/core/cd-gpio.c :: mmc_cd_gpio_request() uses
> 
> request_threaded_irq(irq, NULL, mmc_cd_gpio_irqt,
>                  IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
>                  cd->label, host);
> 
> It doesn't have hander (2nd is NULL), and flag doesn't have IRQF_ONESHOT.
> Then, it run  request_threaded_irq() -> __setup_irq()
> and, it got this error.
> 
> pr_err("Threaded irq requested with handler=NULL and !ONESHOT for irq %d\n",
>       irq);
> 
> I'm not sure detail of it, but maybe from this commit
> 
> -------------------------------------------
> commit 1c6c69525b40eb76de8adf039409722015927dc3
> Author: Thomas Gleixner <[email protected]>
> Date:   Thu Apr 19 10:35:17 2012 +0200
> 
>     genirq: Reject bogus threaded irq requests

Also see this thread: https://lkml.org/lkml/2012/6/12/151

For now you can add an IRQF_ONESHOT flag to the call.

Thanks
Guennadi

>     
>     Requesting a threaded interrupt without a primary handler and without
>     IRQF_ONESHOT set is dangerous.
>     
>     The core will use the default primary handler for it, which merily
>     wakes the thread. For a level type interrupt this results in an
>     interrupt storm, because the interrupt line is reenabled after the
>     primary handler runs. The device has still the line asserted, which
>     brings us back into the primary handler.
>     ...
> ------------------------------------------
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to