On Thu, 2011-08-18 at 12:59 +0200, Kolja Waschk wrote:
> > This IRQ storm is very likely what bites you. The GPIO IRQ does not seem
> > to be properly masked upon arrival, or maybe re-enabled too early,
> 
> Hi, thanks for the helpful explanation. Together with hint from
> 
> > http://blackfin.uclinux.org/gf/forummessage/96808
> 
> this lead me to comment out the check for the interrupt trigger type in
> mach-common/ints_priority.c:bfin_gpio_mask_ack_irq so that
> set_gpio_data(gpionr, 0) is called in any case.
> 
> At least, that helps so that my system doesn't freeze and I can read 
> "keyboard"  events generated by gpio-keys from /dev/input/event0
> 

Your fix is correct, good catch. I'll send this upstream:

diff --git a/arch/blackfin/mach-common/ints-priority.c
b/arch/blackfin/mach-common/ints-priority.c
index da7e3c6..42ce04f 100644
--- a/arch/blackfin/mach-common/ints-priority.c
+++ b/arch/blackfin/mach-common/ints-priority.c
@@ -565,7 +565,9 @@ static void bfin_gpio_mask_ack_irq(unsigned int irq)
        struct irq_desc *desc = irq_desc + irq;
        u32 gpionr = irq_to_gpio(irq);
 
+#ifndef CONFIG_IPIPE
        if (desc->handle_irq == handle_edge_irq)
+#endif
                set_gpio_data(gpionr, 0);
 
        set_gpio_maska(gpionr, 0);

> Kolja
> 
> _______________________________________________
> Xenomai-help mailing list
> [email protected]
> https://mail.gna.org/listinfo/xenomai-help

-- 
Philippe.



_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to