From 6d89db78b598578b0e3e84863496557b7f69f31d Mon Sep 17 00:00:00 2001 From: Anton Blanchard Date: Wed, 15 Oct 2003 13:04:16 +1000 Subject: [PATCH] ppc64: clear IRQ_INPROGRESS in setup_irq and enable_irq --- arch/ppc64/kernel/irq.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/arch/ppc64/kernel/irq.c b/arch/ppc64/kernel/irq.c index 69da3c7fceaba..d9631b90476df 100644 --- a/arch/ppc64/kernel/irq.c +++ b/arch/ppc64/kernel/irq.c @@ -55,9 +55,6 @@ #include #include -void enable_irq(unsigned int irq_nr); -void disable_irq(unsigned int irq_nr); - #ifdef CONFIG_SMP extern void iSeries_smp_message_recv( struct pt_regs * ); #endif @@ -123,7 +120,7 @@ setup_irq(unsigned int irq, struct irqaction * new) if (!shared) { desc->depth = 0; - desc->status &= ~(IRQ_DISABLED | IRQ_AUTODETECT | IRQ_WAITING); + desc->status &= ~(IRQ_DISABLED | IRQ_AUTODETECT | IRQ_WAITING | IRQ_INPROGRESS); unmask_irq(irq); } spin_unlock_irqrestore(&desc->lock,flags); @@ -297,7 +294,7 @@ void enable_irq(unsigned int irq) spin_lock_irqsave(&desc->lock, flags); switch (desc->depth) { case 1: { - unsigned int status = desc->status & ~IRQ_DISABLED; + unsigned int status = desc->status & ~(IRQ_DISABLED | IRQ_INPROGRESS); desc->status = status; if ((status & (IRQ_PENDING | IRQ_REPLAY)) == IRQ_PENDING) { desc->status = status | IRQ_REPLAY; -- 2.53.0