diff options
author | Laxman Dewangan <ldewangan@nvidia.com> | 2012-03-01 17:02:33 +0530 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-03-02 18:08:26 -0800 |
commit | 31ed5b131a741032bd335d1c6e208916e79bcea5 (patch) | |
tree | 8ee83834b1c51abc64488fef70e4dd67d60af435 /drivers/input | |
parent | 62b5a87e7596f4c77fabfa7b232fbcaef0290507 (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.c | 10 |
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; |