]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Input: cros_ec_keyb - fix clearing keyboard state on wakeup
authorTomeu Vizoso <tomeu.vizoso@collabora.com>
Mon, 6 Apr 2015 16:44:59 +0000 (09:44 -0700)
committerJiri Slaby <jslaby@suse.cz>
Tue, 26 May 2015 14:26:57 +0000 (16:26 +0200)
commit ef30a406468a3eae007210ae0dc5ed8d5eb59b7d upstream.

As the comment right before explains, the keyboard state is to be cleared
only if the EC wasn't a wakeup source in the last suspend.

Without this commit, there's an unneeded delay when resuming from suspend
and we also lose the key that was pressed while suspended.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/input/keyboard/cros_ec_keyb.c

index 7e8b0a52af25b63108c781a19f908b084a22975c..528de9cdf0751b84ca6733006bcfa61803acc351 100644 (file)
@@ -309,7 +309,7 @@ static int cros_ec_keyb_resume(struct device *dev)
         * wake source (e.g. the lid is open and the user might press a key to
         * wake) then the key scan buffer should be preserved.
         */
-       if (ckdev->ec->was_wake_device)
+       if (!ckdev->ec->was_wake_device)
                cros_ec_keyb_clear_keyboard(ckdev);
 
        return 0;