parisc: don't claim cpu irqs more than once
The CPU irqs (timer and IPI) are not shared and only need to be claimed once. A mismatch error occurs if they are claimed more than once. 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> Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
parent
cabd91c3bb
commit
cac1f12b9f
1 changed files with 4 additions and 2 deletions
|
@ -410,11 +410,13 @@ void __init init_IRQ(void)
|
||||||
{
|
{
|
||||||
local_irq_disable(); /* PARANOID - should already be disabled */
|
local_irq_disable(); /* PARANOID - should already be disabled */
|
||||||
mtctl(~0UL, 23); /* EIRR : clear all pending external intr */
|
mtctl(~0UL, 23); /* EIRR : clear all pending external intr */
|
||||||
claim_cpu_irqs();
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
if (!cpu_eiem)
|
if (!cpu_eiem) {
|
||||||
|
claim_cpu_irqs();
|
||||||
cpu_eiem = EIEM_MASK(IPI_IRQ) | EIEM_MASK(TIMER_IRQ);
|
cpu_eiem = EIEM_MASK(IPI_IRQ) | EIEM_MASK(TIMER_IRQ);
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
|
claim_cpu_irqs();
|
||||||
cpu_eiem = EIEM_MASK(TIMER_IRQ);
|
cpu_eiem = EIEM_MASK(TIMER_IRQ);
|
||||||
#endif
|
#endif
|
||||||
set_eiem(cpu_eiem); /* EIEM : enable all external intr */
|
set_eiem(cpu_eiem); /* EIEM : enable all external intr */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue