[IA64-SGI] cpe interrupts are not being enabled.

acpi_request_vector() is called in ia64_mca_init() to get the cpe_vector.
The problem is that acpi_request_vector() looks in platform_intr_list[] to
get the vector, but platform_intr_list[] is not initialized with a valid
vector until later (in sn_setup()). Without a valid vector the code
defaults to polling mode.

This patch moves the call to acpi_request_vector() from ia64_mca_init()
to ia64_mca_late_init(), which is after platform_intr_list[] is initialized.

Signed-off-by: Russ Anderson (rja@sgi.com)
Signed-off-by: Tony Luck <tony.luck@intel.com>

authored by

Russ Anderson and committed by
Tony Luck
bb68c12b 056b5033

+2 -2
+2 -2
arch/ia64/kernel/mca.c
··· 1390 register_percpu_irq(IA64_MCA_WAKEUP_VECTOR, &mca_wkup_irqaction); 1391 1392 #ifdef CONFIG_ACPI 1393 - /* Setup the CPEI/P vector and handler */ 1394 - cpe_vector = acpi_request_vector(ACPI_INTERRUPT_CPEI); 1395 register_percpu_irq(IA64_CPEP_VECTOR, &mca_cpep_irqaction); 1396 #endif 1397 ··· 1435 1436 #ifdef CONFIG_ACPI 1437 /* Setup the CPEI/P vector and handler */ 1438 init_timer(&cpe_poll_timer); 1439 cpe_poll_timer.function = ia64_mca_cpe_poll; 1440
··· 1390 register_percpu_irq(IA64_MCA_WAKEUP_VECTOR, &mca_wkup_irqaction); 1391 1392 #ifdef CONFIG_ACPI 1393 + /* Setup the CPEI/P handler */ 1394 register_percpu_irq(IA64_CPEP_VECTOR, &mca_cpep_irqaction); 1395 #endif 1396 ··· 1436 1437 #ifdef CONFIG_ACPI 1438 /* Setup the CPEI/P vector and handler */ 1439 + cpe_vector = acpi_request_vector(ACPI_INTERRUPT_CPEI); 1440 init_timer(&cpe_poll_timer); 1441 cpe_poll_timer.function = ia64_mca_cpe_poll; 1442