return AE_OK;
}
#endif
- acpi_irq_irq = irq;
acpi_irq_handler = handler;
acpi_irq_context = context;
if (request_irq(irq, acpi_irq, SA_SHIRQ, "acpi", acpi_irq)) {
printk(KERN_ERR PREFIX "SCI (IRQ%d) allocation failed\n", irq);
return AE_NOT_ACQUIRED;
}
+ acpi_irq_irq = irq;
return AE_OK;
}
acpi_status
acpi_os_remove_interrupt_handler(u32 irq, OSD_HANDLER handler)
{
- if (acpi_irq_handler) {
+ if (irq) {
#ifdef CONFIG_IA64
irq = acpi_irq_to_vector(irq);
#endif
free_irq(irq, acpi_irq);
acpi_irq_handler = NULL;
+ acpi_irq_irq = 0;
}
return AE_OK;