summaryrefslogtreecommitdiffstats
path: root/kernel/irq/chip.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-05-21 20:33:19 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2012-05-21 20:33:19 -0700
commit471368557a734c6c486ee757952c902b36e7fd01 (patch)
treef192a77d2cb70b1d135e7be62418806e8c590a3e /kernel/irq/chip.c
parentcb60e3e65c1b96a4d6444a7a13dc7dd48bc15a2b (diff)
parente0d8ffd1df44518cb9ac9b1807d1f13cc100fc2f (diff)
downloadlinux-stable-471368557a734c6c486ee757952c902b36e7fd01.tar.gz
linux-stable-471368557a734c6c486ee757952c902b36e7fd01.tar.bz2
linux-stable-471368557a734c6c486ee757952c902b36e7fd01.zip
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull core irq changes from Ingo Molnar: "A collection of small fixes." By Thomas Gleixner * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: hexagon: Remove select of not longer existing Kconfig switches arm: Select core options instead of redefining them genirq: Do not consider disabled wakeup irqs genirq: Allow check_wakeup_irqs to notice level-triggered interrupts genirq: Be more informative on irq type mismatch genirq: Reject bogus threaded irq requests genirq: Streamline irq_action
Diffstat (limited to 'kernel/irq/chip.c')
-rw-r--r--kernel/irq/chip.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c
index 3914c1e03cff..fc275e4f629b 100644
--- a/kernel/irq/chip.c
+++ b/kernel/irq/chip.c
@@ -379,8 +379,10 @@ handle_level_irq(unsigned int irq, struct irq_desc *desc)
* If its disabled or no action available
* keep it masked and get out of here
*/
- if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data)))
+ if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) {
+ desc->istate |= IRQS_PENDING;
goto out_unlock;
+ }
handle_irq_event(desc);