On Mon, Dec 12, 2011 at 11:34 PM, Felipe Balbi <[email protected]> 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to