diff options
Diffstat (limited to 'drivers/acpi/osl.c')
-rw-r--r-- | drivers/acpi/osl.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index e53fb516f9d4..1087efeca9b1 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c | |||
@@ -332,7 +332,15 @@ acpi_os_table_override(struct acpi_table_header * existing_table, | |||
332 | 332 | ||
333 | static irqreturn_t acpi_irq(int irq, void *dev_id) | 333 | static irqreturn_t acpi_irq(int irq, void *dev_id) |
334 | { | 334 | { |
335 | return (*acpi_irq_handler) (acpi_irq_context) ? IRQ_HANDLED : IRQ_NONE; | 335 | u32 handled; |
336 | |||
337 | handled = (*acpi_irq_handler) (acpi_irq_context); | ||
338 | |||
339 | if (handled) { | ||
340 | acpi_irq_handled++; | ||
341 | return IRQ_HANDLED; | ||
342 | } else | ||
343 | return IRQ_NONE; | ||
336 | } | 344 | } |
337 | 345 | ||
338 | acpi_status | 346 | acpi_status |
@@ -341,6 +349,8 @@ acpi_os_install_interrupt_handler(u32 gsi, acpi_osd_handler handler, | |||
341 | { | 349 | { |
342 | unsigned int irq; | 350 | unsigned int irq; |
343 | 351 | ||
352 | acpi_irq_stats_init(); | ||
353 | |||
344 | /* | 354 | /* |
345 | * Ignore the GSI from the core, and use the value in our copy of the | 355 | * Ignore the GSI from the core, and use the value in our copy of the |
346 | * FADT. It may not be the same if an interrupt source override exists | 356 | * FADT. It may not be the same if an interrupt source override exists |