aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/osl.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/osl.c')
-rw-r--r--drivers/acpi/osl.c12
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
333static irqreturn_t acpi_irq(int irq, void *dev_id) 333static 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
338acpi_status 346acpi_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