Commit c2d1a2a1 authored by Alan Jenkins's avatar Alan Jenkins Committed by Dmitry Torokhov

Input: i8042 - fix KBC jam during hibernate

633aae23 "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: default avatarAlan Jenkins <alan-jenkins@tuffmail.co.uk>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent a9f0c381
...@@ -1161,9 +1161,17 @@ static int i8042_pm_restore(struct device *dev) ...@@ -1161,9 +1161,17 @@ static int i8042_pm_restore(struct device *dev)
return 0; 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 = { static const struct dev_pm_ops i8042_pm_ops = {
.suspend = i8042_pm_reset, .suspend = i8042_pm_reset,
.resume = i8042_pm_restore, .resume = i8042_pm_restore,
.thaw = i8042_pm_thaw,
.poweroff = i8042_pm_reset, .poweroff = i8042_pm_reset,
.restore = i8042_pm_restore, .restore = i8042_pm_restore,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment