diff options
Diffstat (limited to 'arch/ia64/kernel/mca.c')
-rw-r--r-- | arch/ia64/kernel/mca.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c index 1753f6a30d55..84fb405eee87 100644 --- a/arch/ia64/kernel/mca.c +++ b/arch/ia64/kernel/mca.c | |||
@@ -582,6 +582,8 @@ out: | |||
582 | /* Get the CPE error record and log it */ | 582 | /* Get the CPE error record and log it */ |
583 | ia64_mca_log_sal_error_record(SAL_INFO_TYPE_CPE); | 583 | ia64_mca_log_sal_error_record(SAL_INFO_TYPE_CPE); |
584 | 584 | ||
585 | local_irq_disable(); | ||
586 | |||
585 | return IRQ_HANDLED; | 587 | return IRQ_HANDLED; |
586 | } | 588 | } |
587 | 589 | ||
@@ -1859,7 +1861,8 @@ ia64_mca_cpu_init(void *cpu_data) | |||
1859 | data = mca_bootmem(); | 1861 | data = mca_bootmem(); |
1860 | first_time = 0; | 1862 | first_time = 0; |
1861 | } else | 1863 | } else |
1862 | data = __get_free_pages(GFP_KERNEL, get_order(sz)); | 1864 | data = (void *)__get_free_pages(GFP_KERNEL, |
1865 | get_order(sz)); | ||
1863 | if (!data) | 1866 | if (!data) |
1864 | panic("Could not allocate MCA memory for cpu %d\n", | 1867 | panic("Could not allocate MCA memory for cpu %d\n", |
1865 | cpu); | 1868 | cpu); |
@@ -2122,7 +2125,6 @@ ia64_mca_late_init(void) | |||
2122 | cpe_poll_timer.function = ia64_mca_cpe_poll; | 2125 | cpe_poll_timer.function = ia64_mca_cpe_poll; |
2123 | 2126 | ||
2124 | { | 2127 | { |
2125 | struct irq_desc *desc; | ||
2126 | unsigned int irq; | 2128 | unsigned int irq; |
2127 | 2129 | ||
2128 | if (cpe_vector >= 0) { | 2130 | if (cpe_vector >= 0) { |
@@ -2130,8 +2132,7 @@ ia64_mca_late_init(void) | |||
2130 | irq = local_vector_to_irq(cpe_vector); | 2132 | irq = local_vector_to_irq(cpe_vector); |
2131 | if (irq > 0) { | 2133 | if (irq > 0) { |
2132 | cpe_poll_enabled = 0; | 2134 | cpe_poll_enabled = 0; |
2133 | desc = irq_desc + irq; | 2135 | irq_set_status_flags(irq, IRQ_PER_CPU); |
2134 | desc->status |= IRQ_PER_CPU; | ||
2135 | setup_irq(irq, &mca_cpe_irqaction); | 2136 | setup_irq(irq, &mca_cpe_irqaction); |
2136 | ia64_cpe_irq = irq; | 2137 | ia64_cpe_irq = irq; |
2137 | ia64_mca_register_cpev(cpe_vector); | 2138 | ia64_mca_register_cpev(cpe_vector); |