Skip to content

Commit

Permalink
Input: i8042 - fix KBC jam during hibernate
Browse files Browse the repository at this point in the history
633aae2 "Input: i8042 - switch to using dev_pm_ops" removed handling
for PMSG_THAW, since we do not need to do anything during freeze and
thus it was thougt that thaw is not needed as well. However, there is
a period when interrupts are kept off, and if key happens to be pressed
during that time KBC becomes jammed. To avoid the jam we simply need
to poll KBC once during thaw.

Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
  • Loading branch information
Alan Jenkins authored and Dmitry Torokhov committed Feb 18, 2010
1 parent a9f0c38 commit c2d1a2a
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions drivers/input/serio/i8042.c
Original file line number Diff line number Diff line change
Expand Up @@ -1161,9 +1161,17 @@ static int i8042_pm_restore(struct device *dev)
return 0;
}

static int i8042_pm_thaw(struct device *dev)
{
i8042_interrupt(0, NULL);

return 0;
}

static const struct dev_pm_ops i8042_pm_ops = {
.suspend = i8042_pm_reset,
.resume = i8042_pm_restore,
.thaw = i8042_pm_thaw,
.poweroff = i8042_pm_reset,
.restore = i8042_pm_restore,
};
Expand Down

0 comments on commit c2d1a2a

Please sign in to comment.