summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAlexey Starikovskiy <astarikovskiy@suse.de>2008-11-13 12:00:03 +0300
committerGreg Kroah-Hartman <gregkh@suse.de>2008-12-05 10:55:24 -0800
commitbcd48fbb5a26632fea79ff62f63d3f67bf67f1ac (patch)
treecc33beadf9f6175c2e90c57b7ae502f2d54fc27f /drivers
parent25414bbd7a1919b74b6dd409457136683d952214 (diff)
ACPI: EC: count interrupts only if called from interrupt handler.
commit 7b4d469228a92a00e412675817cedd60133de38a upstream. fix 2.6.28 EC interrupt storm regression Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Len Brown <len.brown@intel.com> Cc: Alan Jenkins <alan-jenkins@tuffmail.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/acpi/ec.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 41b8e7cad06e..9ab3fb941025 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -219,7 +219,8 @@ static void gpe_transaction(struct acpi_ec *ec, u8 status)
goto unlock;
err:
/* false interrupt, state didn't change */
- ++ec->curr->irq_count;
+ if (in_interrupt())
+ ++ec->curr->irq_count;
unlock:
spin_unlock_irqrestore(&ec->curr_lock, flags);
}