summaryrefslogtreecommitdiffstats
path: root/kernel/irq/resend.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-02-08 12:17:57 +0100
committerThomas Gleixner <tglx@linutronix.de>2011-02-19 12:58:17 +0100
commit2a0d6fb335d4428285dab2d254911748e6040807 (patch)
tree16090086899df6886436b89cc76e6d0d5b36d083 /kernel/irq/resend.c
parentc1594b77e46124bb462f961e536120e471c67446 (diff)
downloadlinux-stable-2a0d6fb335d4428285dab2d254911748e6040807.tar.gz
linux-stable-2a0d6fb335d4428285dab2d254911748e6040807.tar.bz2
linux-stable-2a0d6fb335d4428285dab2d254911748e6040807.zip
genirq: Move IRQ_PENDING flag to core
Keep status in sync until all users are fixed. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/irq/resend.c')
-rw-r--r--kernel/irq/resend.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/irq/resend.c b/kernel/irq/resend.c
index f83387cd11f3..ff1fea060014 100644
--- a/kernel/irq/resend.c
+++ b/kernel/irq/resend.c
@@ -64,8 +64,9 @@ void check_irq_resend(struct irq_desc *desc, unsigned int irq)
return;
if (desc->istate & IRQS_REPLAY)
return;
- if (desc->status & IRQ_PENDING) {
- desc->status &= ~IRQ_PENDING;
+ if (desc->istate & IRQS_PENDING) {
+ irq_compat_clr_pending(desc);
+ desc->istate &= ~IRQS_PENDING;
desc->istate |= IRQS_REPLAY;
if (!desc->irq_data.chip->irq_retrigger ||