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 367614f858f..692ce2bae30 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)  		 * Already running: If it is shared get the other  		 * CPU to go looking for our mystery interrupt too  		 */ -		desc->status |= IRQ_PENDING; +		irq_compat_set_pending(desc); +		desc->istate |= IRQS_PENDING;  		goto out;  	} @@ -103,7 +104,7 @@ static int try_one_irq(int irq, struct irq_desc *desc, bool force)  		if (handle_irq_event(desc) == IRQ_HANDLED)  			ret = IRQ_HANDLED;  		action = desc->action; -	} while ((desc->status & IRQ_PENDING) && action); +	} while ((desc->istate & IRQS_PENDING) && action);  	desc->istate &= ~IRQS_POLL_INPROGRESS;  out:  	raw_spin_unlock(&desc->lock);  |