diff options
| -rw-r--r-- | kernel/irq/chip.c | 16 | 
1 files changed, 2 insertions, 14 deletions
| diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index 809a03fe7e07..2d2ba4ace0ec 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c @@ -479,9 +479,6 @@ out_unlock:  void  handle_level_irq(unsigned int irq, struct irq_desc *desc)  { -	struct irqaction *action; -	irqreturn_t action_ret; -  	raw_spin_lock(&desc->lock);  	mask_ack_irq(desc); @@ -496,19 +493,10 @@ handle_level_irq(unsigned int irq, struct irq_desc *desc)  	 * If its disabled or no action available  	 * keep it masked and get out of here  	 */ -	action = desc->action; -	if (unlikely(!action || (desc->status & IRQ_DISABLED))) +	if (unlikely(!desc->action || (desc->status & IRQ_DISABLED)))  		goto out_unlock; -	desc->status |= IRQ_INPROGRESS; -	raw_spin_unlock(&desc->lock); - -	action_ret = handle_IRQ_event(irq, action); -	if (!noirqdebug) -		note_interrupt(irq, desc, action_ret); - -	raw_spin_lock(&desc->lock); -	desc->status &= ~IRQ_INPROGRESS; +	handle_irq_event(desc);  	if (!(desc->status & (IRQ_DISABLED | IRQ_ONESHOT)))  		unmask_irq(desc); | 
