diff options
author | Alexey Starikovskiy <astarikovskiy@suse.de> | 2008-11-13 12:00:03 +0300 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-11-26 17:16:45 -0500 |
commit | 7b4d469228a92a00e412675817cedd60133de38a (patch) | |
tree | 33e9aace585f7fc176c55e925c1e602b8fa3f56d /drivers/acpi/ec.c | |
parent | ed313489badef16d700f5a3be50e8fd8f8294bc8 (diff) | |
download | op-kernel-dev-7b4d469228a92a00e412675817cedd60133de38a.zip op-kernel-dev-7b4d469228a92a00e412675817cedd60133de38a.tar.gz |
ACPI: EC: count interrupts only if called from interrupt handler.
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>
Diffstat (limited to 'drivers/acpi/ec.c')
-rw-r--r-- | drivers/acpi/ec.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index cf41f9f..30f3ef2 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); } |