diff options
author | Alexey Starikovskiy <astarikovskiy@suse.de> | 2008-11-13 04:00:03 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-11-26 17:16:45 -0500 |
commit | 7b4d469228a92a00e412675817cedd60133de38a (patch) | |
tree | 33e9aace585f7fc176c55e925c1e602b8fa3f56d /drivers | |
parent | ed313489badef16d700f5a3be50e8fd8f8294bc8 (diff) |
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')
-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 cf41f9fc24a7..30f3ef236ecb 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) | |||
219 | goto unlock; | 219 | goto unlock; |
220 | err: | 220 | err: |
221 | /* false interrupt, state didn't change */ | 221 | /* false interrupt, state didn't change */ |
222 | ++ec->curr->irq_count; | 222 | if (in_interrupt()) |
223 | ++ec->curr->irq_count; | ||
223 | unlock: | 224 | unlock: |
224 | spin_unlock_irqrestore(&ec->curr_lock, flags); | 225 | spin_unlock_irqrestore(&ec->curr_lock, flags); |
225 | } | 226 | } |