mmc_cd_gpio_request() failed request_threaded_irq()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <tglx@xxxxxxxxxxxxx>
Date:   Thu Apr 19 10:35:17 2012 +0200

    genirq: Reject bogus threaded irq requests
    
    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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux