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

Reply via email to