From mboxrd@z Thu Jan 1 00:00:00 1970 From: Philippe Gerum In-Reply-To: References: <1313591180.18802.9.camel@domain.hid> <1313661130.18802.33.camel@domain.hid> Content-Type: text/plain; charset="UTF-8" Date: Thu, 18 Aug 2011 13:45:09 +0200 Message-ID: <1313667909.2021.0.camel@domain.hid> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Re: [Xenomai-help] Freeze with gpio-keys with Xenomai on Blackfin List-Id: Help regarding installation and common use of Xenomai List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kolja Waschk Cc: xenomai@xenomai.org 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 > Xenomai-help@domain.hid > https://mail.gna.org/listinfo/xenomai-help -- Philippe.