[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-arm-kernel
Subject: Re: race condition in do_IRQ
From: Nicolas Pitre <nico () cam ! org>
Date: 2004-05-06 14:20:01
Message-ID: Pine.LNX.4.44.0405060959160.6656-100000 () xanadu ! home
[Download RAW message or body]
On Thu, 6 May 2004, Ian Molton wrote:
> On Thu, 6 May 2004 10:03:56 +0200
> Matthias Welwarsky <mwelwarsky@web.de> wrote:
>
> > This is the interrupt handler. The code you're talking about is run with
> > interrupts disabled and is protected with the irq_controller spinlock - no
> > atomicity problem there. The desc->running lock is there because later
> > interrupts may become enabled again.
>
> why not put a comment in the code to that effect?
If you follow the code a little further, you'll see this:
if (!(action->flags & SA_INTERRUPT))
local_irq_enable();
which implies that IRQs were disabled up to that point.
But to be sure, you could look for the areas where do_IRQ() is caled from.
There is two such places in entry-armv.S: __irq_svc and __irq_usr, and both
of them are entered from the IRQ vector which has interrupt disabled.
Nicolas
-------------------------------------------------------------------
Subscription options: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
FAQ: http://www.arm.linux.org.uk/armlinux/mlfaq.php
Etiquette: http://www.arm.linux.org.uk/armlinux/mletiquette.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic