On Wed, Oct 01, 2014 at 07:46:31PM +0200, Gilles Chanteperdrix wrote:
> Are you sure you are not simply getting an interrupt and failing to
> clear the interrupt condition?
I won't claim to be sure yet.
> Are you sure that the GPIO demuxing code calls ipipe_handle_demuxed_irq
> instead of generic_handle_irq?
Well gpio-omap has this:
if (type & (IRQ_TYPE_LEVEL_LOW | IRQ_TYPE_LEVEL_HIGH))
__irq_set_handler_locked(d->irq, handle_level_irq);
else if (type & (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING))
__irq_set_handler_locked(d->irq, handle_edge_irq);
So I imagine it would call handle_level_irq in my case. When I don't
specify HIGH or LOW, it would call neither and I get no hang. I did
not try FALLING or RISING yet, although currently I suspect those would
hang too.
I also see:
ipipe_handle_demuxed_irq
(irq_find_mapping(bank->domain, bit));
That's in gpio-omap as well. I see no calls to generic_handle_irq?
--
Len Sorensen
_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai