summaryrefslogtreecommitdiff
path: root/drivers/input
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2012-03-01 17:02:33 +0530
committerSimone Willett <swillett@nvidia.com>2012-03-02 18:08:26 -0800
commit31ed5b131a741032bd335d1c6e208916e79bcea5 (patch)
tree8ee83834b1c51abc64488fef70e4dd67d60af435 /drivers/input
parent62b5a87e7596f4c77fabfa7b232fbcaef0290507 (diff)
input: keyboard: interrupt_key: Fix inbalance irq wakeups
The disable_irq_wake() function is getting called more than enable_irq_wake() and hence creating the inbalance error for disable irq wake. Fixing this with same logic for enable_irq_wake(). Change-Id: I32028fde01f1971f94cb75c188f975cbc78e74c5 Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/86906
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/keyboard/interrupt_keys.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/input/keyboard/interrupt_keys.c b/drivers/input/keyboard/interrupt_keys.c
index 0117e87788b9..2c27d45a9604 100644
--- a/drivers/input/keyboard/interrupt_keys.c
+++ b/drivers/input/keyboard/interrupt_keys.c
@@ -304,11 +304,11 @@ static int interrupt_keys_resume(struct device *dev)
struct interrupt_keys_button *button;
int i;
- for (i = 0; i < pdata->nbuttons; i++) {
- button = &pdata->int_buttons[i];
- if (button->wakeup && device_may_wakeup(&pdev->dev)) {
- int irq = button->irq;
- disable_irq_wake(irq);
+ if (device_may_wakeup(&pdev->dev)) {
+ for (i = 0; i < pdata->nbuttons; i++) {
+ button = &pdata->int_buttons[i];
+ if (button->wakeup)
+ disable_irq_wake(button->irq);
}
}
return 0;