[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>
1 file changed