diff options
Diffstat (limited to 'kernel/irq/spurious.c')
-rw-r--r-- | kernel/irq/spurious.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c index 367614f858ff..692ce2bae302 100644 --- a/kernel/irq/spurious.c +++ b/kernel/irq/spurious.c | |||
@@ -93,7 +93,8 @@ static int try_one_irq(int irq, struct irq_desc *desc, bool force) | |||
93 | * Already running: If it is shared get the other | 93 | * Already running: If it is shared get the other |
94 | * CPU to go looking for our mystery interrupt too | 94 | * CPU to go looking for our mystery interrupt too |
95 | */ | 95 | */ |
96 | desc->status |= IRQ_PENDING; | 96 | irq_compat_set_pending(desc); |
97 | desc->istate |= IRQS_PENDING; | ||
97 | goto out; | 98 | goto out; |
98 | } | 99 | } |
99 | 100 | ||
@@ -103,7 +104,7 @@ static int try_one_irq(int irq, struct irq_desc *desc, bool force) | |||
103 | if (handle_irq_event(desc) == IRQ_HANDLED) | 104 | if (handle_irq_event(desc) == IRQ_HANDLED) |
104 | ret = IRQ_HANDLED; | 105 | ret = IRQ_HANDLED; |
105 | action = desc->action; | 106 | action = desc->action; |
106 | } while ((desc->status & IRQ_PENDING) && action); | 107 | } while ((desc->istate & IRQS_PENDING) && action); |
107 | desc->istate &= ~IRQS_POLL_INPROGRESS; | 108 | desc->istate &= ~IRQS_POLL_INPROGRESS; |
108 | out: | 109 | out: |
109 | raw_spin_unlock(&desc->lock); | 110 | raw_spin_unlock(&desc->lock); |