kernel BUG at kernel/posix-cpu-timers.c:1389!
Uwe Kleine-König
u.kleine-koenig at pengutronix.de
Mon Nov 30 08:21:16 EST 2009
On Mon, Nov 02, 2009 at 04:54:41PM +0000, Russell King - ARM Linux wrote:
> On Mon, Nov 02, 2009 at 05:47:57PM +0100, Nicolas Ferre wrote:
> > in arch/arm/mach-at91/at91sam926x_time.c +125
> > .flags = IRQF_SHARED | IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL,
> >
> > IRQF_DISABLED is positionned. But on the other hand, I saw in the kernel
> > booting messages that:
> > "IRQ 1/rtc0: IRQF_DISABLED is not guaranteed on shared IRQs"
> >
> > What does this mean ? what is the difference with former way of managing
> > shared interrupts ?
>
> If the first IRQ action which is run was registered without IRQF_DISABLED
> the entire set will be run without interrupts disabled.
... unless one of the handlers enables irqs, so all bets are off for all
but the first handler.
> > And above all, what is the proper way to set an IRQ on a shared
> > interrupt line ?
>
> The only real solution is to ensure that all requesters use IRQF_DISABLED.
Back to the original problem: can you provide the contents of
/proc/interrupts and the output of dmesg?
I once saw that an oops containing the last time and location when irqs
where enabled and disabled. That would be great here. I don't know
off-hand where to find a patch and it doesn't seem to be supported in
mainline. I will come back on this.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
More information about the linux-arm-kernel
mailing list