• R
    ACPI: Avoid calling request_irq() many times for the same interrupt · 23fe3630
    Rafael J. Wysocki 提交于
    In principle acpi_os_install_interrupt_handler() may be called
    multiple times for different interrupts, either from
    acpi_ev_get_gpe_xrupt_block(), or from acpi_ev_install_sci_handler().
    However, it always attempts to request the same interrupt,
    acpi_gbl_FADT.sci_interrupt and it doesn't check whether or not this
    interrupt has already been requested.
    
    Modify this function so that it refuses to request interrupts other
    than acpi_gbl_FADT.sci_interrupt and change
    acpi_os_remove_interrupt_handler() so that it refuses to free such
    interrupts.  Use the observation that the only supported ACPI
    interrupt must be equal to acpi_gbl_FADT.sci_interrupt and drop an
    unnecessary variable acpi_irq_irq.
    
    This change has been tested on Toshiba Portege R500 and HP nx6325
    without introducing any visible problems.
    Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
    23fe3630
osl.c 38.1 KB