aboutsummaryrefslogtreecommitdiffstats
path: root/fs/jbd/commit.c
diff options
context:
space:
mode:
authorThomas Gleixner <[email protected]>2012-03-06 22:18:54 +0000
committerLinus Torvalds <[email protected]>2012-03-07 00:46:39 +0000
commit52abb700e16a9aa4cbc03f3d7f80206cbbc80680 (patch)
treef396df08518ff22039d2c4da153cba029f01ecd2 /fs/jbd/commit.c
parentmmap: EINVAL not ENOMEM when rejecting VM_GROWS (diff)
downloadkernel-52abb700e16a9aa4cbc03f3d7f80206cbbc80680.tar.gz
kernel-52abb700e16a9aa4cbc03f3d7f80206cbbc80680.zip
genirq: Clear action->thread_mask if IRQ_ONESHOT is not set
Xommit ac5637611(genirq: Unmask oneshot irqs when thread was not woken) fails to unmask when a !IRQ_ONESHOT threaded handler is handled by handle_level_irq. This happens because thread_mask is or'ed unconditionally in irq_wake_thread(), but for !IRQ_ONESHOT interrupts never cleared. So the check for !desc->thread_active fails and keeps the interrupt disabled. Keep the thread_mask zero for !IRQ_ONESHOT interrupts. Document the thread_mask magic while at it. Reported-and-tested-by: Sven Joachim <[email protected]> Reported-and-tested-by: Stefan Lippers-Hollmann <[email protected]> Cc: [email protected] Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'fs/jbd/commit.c')
0 files changed, 0 insertions, 0 deletions