On Mon, Dec 12, 2011 at 11:34 PM, Felipe Balbi <balbi@xxxxxx> wrote: > On Mon, Dec 12, 2011 at 10:55:11PM +0200, Felipe Contreras wrote: >> > Samuel assumed it was ok and, like I said above, it worked for my simple GPIO >> > usecase with beagleboard. >> >> Well, for 3.2 I think the situation is fine, but that's not what I'm >> talking about. About your GPIO tests, are you sure you got the >> interrupts through twl4030 irq handling? > > Card detect GPIO on beagleboard is a TWL GPIO. Checking that > removing/adding the card actually triggers an IRQ, should be enough. No? Perhaps the reason that worked is because drivers/mmc/host/omap_hsmmc.c is not requesting a threaded IRQ, so the action handler was able to run while in handle_twl4030_pih() was still running (handle_nested_irq), but everything else that was using request_threaded_irq() didn't have an action handler, but a thread_fn(), so they were scheduled to run after handle_twl4030_pih(). That's also why you didn't notice the endless loop while pressing a key. The lesson to learn from this is; don't mix threaded and non-threaded irq handling. -- Felipe Contreras -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html