]> git.baikalelectronics.ru Git - kernel.git/commit
Don't call "note_interrupt()" with irq descriptor lock held
authorLinus Torvalds <torvalds@woody.osdl.org>
Wed, 22 Nov 2006 17:32:06 +0000 (09:32 -0800)
committerLinus Torvalds <torvalds@woody.osdl.org>
Wed, 22 Nov 2006 17:32:06 +0000 (09:32 -0800)
commit45c3d68e9caf533186571244433786a74b351d1e
tree2fe6141c936421d339a9443a6ad6af4dd4d2386b
parentd9fef9f8865f67563188c28f4bf99e47b1dd980d
Don't call "note_interrupt()" with irq descriptor lock held

This reverts commit d288dcfd71e4fabd688f8f874db0815e1a9b9c5e, and solves
the problem that it tried to fix by simply making "__do_IRQ()" call the
note_interrupt() function without the lock held, the way everybody else
does.

It should be noted that all interrupt handling code must never allow the
descriptor actors to be entered "recursively" (that's why we do all the
magic IRQ_PENDING stuff in the first place), so there actually is
exclusion at that much higher level, even in the absense of locking.

Acked-by: Vivek Goyal <vgoyal@in.ibm.com>
Acked-by:Pavel Emelianov <xemul@openvz.org>
Cc: Andrew Morton <akpm@osdl.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
kernel/irq/handle.c
kernel/irq/spurious.c