aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAlexey Starikovskiy <astarikovskiy@suse.de>2008-11-13 04:00:03 -0500
committerLen Brown <len.brown@intel.com>2008-11-26 17:16:45 -0500
commit7b4d469228a92a00e412675817cedd60133de38a (patch)
tree33e9aace585f7fc176c55e925c1e602b8fa3f56d /drivers
parented313489badef16d700f5a3be50e8fd8f8294bc8 (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.c3
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;
220err: 220err:
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;
223unlock: 224unlock:
224 spin_unlock_irqrestore(&ec->curr_lock, flags); 225 spin_unlock_irqrestore(&ec->curr_lock, flags);
225} 226}