summaryrefslogtreecommitdiffstats
path: root/kernel/irq/resend.c
diff options
context:
space:
mode:
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 ||