diff options
Diffstat (limited to 'arch/ia64/kernel/mca.c')
-rw-r--r-- | arch/ia64/kernel/mca.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c index ee7eec9ee576..87fb7cecead0 100644 --- a/arch/ia64/kernel/mca.c +++ b/arch/ia64/kernel/mca.c | |||
@@ -289,6 +289,7 @@ ia64_mca_log_sal_error_record(int sal_info_type) | |||
289 | #ifdef CONFIG_ACPI | 289 | #ifdef CONFIG_ACPI |
290 | 290 | ||
291 | int cpe_vector = -1; | 291 | int cpe_vector = -1; |
292 | int ia64_cpe_irq = -1; | ||
292 | 293 | ||
293 | static irqreturn_t | 294 | static irqreturn_t |
294 | ia64_mca_cpe_int_handler (int cpe_irq, void *arg, struct pt_regs *ptregs) | 295 | ia64_mca_cpe_int_handler (int cpe_irq, void *arg, struct pt_regs *ptregs) |
@@ -1444,11 +1445,13 @@ void __devinit | |||
1444 | ia64_mca_cpu_init(void *cpu_data) | 1445 | ia64_mca_cpu_init(void *cpu_data) |
1445 | { | 1446 | { |
1446 | void *pal_vaddr; | 1447 | void *pal_vaddr; |
1448 | static int first_time = 1; | ||
1447 | 1449 | ||
1448 | if (smp_processor_id() == 0) { | 1450 | if (first_time) { |
1449 | void *mca_data; | 1451 | void *mca_data; |
1450 | int cpu; | 1452 | int cpu; |
1451 | 1453 | ||
1454 | first_time = 0; | ||
1452 | mca_data = alloc_bootmem(sizeof(struct ia64_mca_cpu) | 1455 | mca_data = alloc_bootmem(sizeof(struct ia64_mca_cpu) |
1453 | * NR_CPUS + KERNEL_STACK_SIZE); | 1456 | * NR_CPUS + KERNEL_STACK_SIZE); |
1454 | mca_data = (void *)(((unsigned long)mca_data + | 1457 | mca_data = (void *)(((unsigned long)mca_data + |
@@ -1704,6 +1707,7 @@ ia64_mca_late_init(void) | |||
1704 | desc = irq_descp(irq); | 1707 | desc = irq_descp(irq); |
1705 | desc->status |= IRQ_PER_CPU; | 1708 | desc->status |= IRQ_PER_CPU; |
1706 | setup_irq(irq, &mca_cpe_irqaction); | 1709 | setup_irq(irq, &mca_cpe_irqaction); |
1710 | ia64_cpe_irq = irq; | ||
1707 | } | 1711 | } |
1708 | ia64_mca_register_cpev(cpe_vector); | 1712 | ia64_mca_register_cpev(cpe_vector); |
1709 | IA64_MCA_DEBUG("%s: CPEI/P setup and enabled.\n", __FUNCTION__); | 1713 | IA64_MCA_DEBUG("%s: CPEI/P setup and enabled.\n", __FUNCTION__); |