[PATCH] drivers/block/floppy.c: dont free_irq() from irq context
authorIngo Molnar <mingo@elte.hu>
Sun, 26 Mar 2006 09:36:54 +0000 (01:36 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sun, 26 Mar 2006 16:56:53 +0000 (08:56 -0800)
commit6dc659d813fdd1789e605d69d0b8762d284e8c60
tree3eda05a63e1ed271d8382ca4de3315d1e1c19a24
parent36ddf5bbdea7ba4582abc62f106f0f0e9f0b6b91
[PATCH] drivers/block/floppy.c: dont free_irq() from irq context

free_irq() should not be executed from softirq context.

Found by the lock validator.  The fix is to push fd_free_irq() into
keventd.  The code validates fine with this patch applied.

(akpm: this is revolting, but so is floppy.c)

[akpm@osdl.org: added flush_scheduled_work()]
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/block/floppy.c