On Thu, 2006-06-01 at 18:09 +1000, Herbert Xu wrote:
> On Wed, May 31, 2006 at 09:24:12PM +0000, Arjan van de Ven wrote:
> >
> > misrouted_irq() in kernel/irq/spurious.c
> > afaics that calls all handlers registered to the system regardless of what
> > irq number they are registered for.....
> >
> > which breaks the disable_irq() locking trick... because your irq handler now
> > gets called anyway!
>
> This is a serious bug in misrouted_irq(). disable_irq() is a software
> state and must be repsected.
no that is not correct.
The api is a mix kinda and broken; it really DOES mean "shut this irq
source off". That your handler won't get called is an assumption!
You do NOT disable your handler this way.
What we really need is a disable_irq_handler() api that does both!
(you may say I'm handwaving, but if disable_irq() would disable a
handler, it for sure would have taken a "handler" argument, which it
doesn't!)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]