diff mbox

parisc, don't claim cpu irqs more than once

Message ID 20110612014640.GA19605@hiauly1.hia.nrc.ca (mailing list archive)
State Accepted, archived
Headers show

Commit Message

John David Anglin June 12, 2011, 1:46 a.m. UTC
On Sat, 11 Jun 2011, John David Anglin wrote:

> > Shouldn't this be bool then? Now that we have it.
> 
> Yes but I would like to here with this approach is acceptable.  Another
> alternative might be a function init_IRQ_SMP that doesn't call claim_cpu_irqs.

Looking at this a bit more, I believe this change is better.

Signed-off-by: John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Helge Deller <deller@gmx.de>
Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>


Dave
diff mbox

Patch

diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c
index c0b1aff..0299d63 100644
--- a/arch/parisc/kernel/irq.c
+++ b/arch/parisc/kernel/irq.c
@@ -410,11 +410,13 @@  void __init init_IRQ(void)
 {
 	local_irq_disable();	/* PARANOID - should already be disabled */
 	mtctl(~0UL, 23);	/* EIRR : clear all pending external intr */
-	claim_cpu_irqs();
 #ifdef CONFIG_SMP
-	if (!cpu_eiem)
+	if (!cpu_eiem) {
+		claim_cpu_irqs();
 		cpu_eiem = EIEM_MASK(IPI_IRQ) | EIEM_MASK(TIMER_IRQ);
+	}
 #else
+	claim_cpu_irqs();
 	cpu_eiem = EIEM_MASK(TIMER_IRQ);
 #endif
         set_eiem(cpu_eiem);	/* EIEM : enable all external intr */