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 0c41db3075a5..3b8aef3aefe5 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c | |||
@@ -337,7 +337,15 @@ acpi_os_table_override(struct acpi_table_header * existing_table, | |||
337 | 337 | ||
338 | static irqreturn_t acpi_irq(int irq, void *dev_id) | 338 | static irqreturn_t acpi_irq(int irq, void *dev_id) |
339 | { | 339 | { |
340 | return (*acpi_irq_handler) (acpi_irq_context) ? IRQ_HANDLED : IRQ_NONE; | 340 | u32 handled; |
341 | |||
342 | handled = (*acpi_irq_handler) (acpi_irq_context); | ||
343 | |||
344 | if (handled) { | ||
345 | acpi_irq_handled++; | ||
346 | return IRQ_HANDLED; | ||
347 | } else | ||
348 | return IRQ_NONE; | ||
341 | } | 349 | } |
342 | 350 | ||
343 | acpi_status | 351 | acpi_status |
@@ -346,6 +354,8 @@ acpi_os_install_interrupt_handler(u32 gsi, acpi_osd_handler handler, | |||
346 | { | 354 | { |
347 | unsigned int irq; | 355 | unsigned int irq; |
348 | 356 | ||
357 | acpi_irq_stats_init(); | ||
358 | |||
349 | /* | 359 | /* |
350 | * Ignore the GSI from the core, and use the value in our copy of the | 360 | * Ignore the GSI from the core, and use the value in our copy of the |
351 | * FADT. It may not be the same if an interrupt source override exists | 361 | * FADT. It may not be the same if an interrupt source override exists |