diff options
Diffstat (limited to 'kernel/irq/manage.c')
| -rw-r--r-- | kernel/irq/manage.c | 8 | 
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 7e5a5082508..aca4208a03a 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -697,7 +697,7 @@ static int irq_thread(void *data)  	};  	struct irqaction *action = data;  	struct irq_desc *desc = irq_to_desc(action->irq); -	int wake, oneshot = desc->status & IRQ_ONESHOT; +	int wake, oneshot = desc->istate & IRQS_ONESHOT;  	sched_setscheduler(current, SCHED_FIFO, ¶m);  	current->irqaction = action; @@ -897,12 +897,12 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)  			desc->status |= IRQ_PER_CPU;  #endif -		desc->status &= ~(IRQ_WAITING | IRQ_ONESHOT); +		desc->status &= ~IRQ_WAITING;  		desc->istate &= ~(IRQS_AUTODETECT | IRQS_SPURIOUS_DISABLED | \ -				  IRQS_INPROGRESS); +				  IRQS_INPROGRESS | IRQS_ONESHOT);  		if (new->flags & IRQF_ONESHOT) -			desc->status |= IRQ_ONESHOT; +			desc->istate |= IRQS_ONESHOT;  		if (!(desc->status & IRQ_NOAUTOEN))  			irq_startup(desc);  |