From a39bee84e2eaa7c5bc6fa6c788d2c09ed9266c4a Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 15 Jul 2025 11:02:04 +0200 Subject: [PATCH] 5.15-stable patches added patches: input-atkbd-do-not-skip-atkbd_deactivate-when-skipping-atkbd_cmd_getid.patch --- ...tivate-when-skipping-atkbd_cmd_getid.patch | 48 +++++++++++++++++++ queue-5.15/series | 1 + 2 files changed, 49 insertions(+) create mode 100644 queue-5.15/input-atkbd-do-not-skip-atkbd_deactivate-when-skipping-atkbd_cmd_getid.patch diff --git a/queue-5.15/input-atkbd-do-not-skip-atkbd_deactivate-when-skipping-atkbd_cmd_getid.patch b/queue-5.15/input-atkbd-do-not-skip-atkbd_deactivate-when-skipping-atkbd_cmd_getid.patch new file mode 100644 index 0000000000..a9e16feaea --- /dev/null +++ b/queue-5.15/input-atkbd-do-not-skip-atkbd_deactivate-when-skipping-atkbd_cmd_getid.patch @@ -0,0 +1,48 @@ +From 9cf6e24c9fbf17e52de9fff07f12be7565ea6d61 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Fri, 26 Jan 2024 17:07:24 +0100 +Subject: Input: atkbd - do not skip atkbd_deactivate() when skipping ATKBD_CMD_GETID + +From: Hans de Goede + +commit 9cf6e24c9fbf17e52de9fff07f12be7565ea6d61 upstream. + +After commit 936e4d49ecbc ("Input: atkbd - skip ATKBD_CMD_GETID in +translated mode") not only the getid command is skipped, but also +the de-activating of the keyboard at the end of atkbd_probe(), potentially +re-introducing the problem fixed by commit be2d7e4233a4 ("Input: atkbd - +fix multi-byte scancode handling on reconnect"). + +Make sure multi-byte scancode handling on reconnect is still handled +correctly by not skipping the atkbd_deactivate() call. + +Fixes: 936e4d49ecbc ("Input: atkbd - skip ATKBD_CMD_GETID in translated mode") +Tested-by: Paul Menzel +Signed-off-by: Hans de Goede +Link: https://lore.kernel.org/r/20240126160724.13278-3-hdegoede@redhat.com +Signed-off-by: Dmitry Torokhov +Signed-off-by: Wang Hai +Signed-off-by: Greg Kroah-Hartman +--- + drivers/input/keyboard/atkbd.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/input/keyboard/atkbd.c ++++ b/drivers/input/keyboard/atkbd.c +@@ -817,7 +817,7 @@ static int atkbd_probe(struct atkbd *atk + + if (atkbd_skip_getid(atkbd)) { + atkbd->id = 0xab83; +- return 0; ++ goto deactivate_kbd; + } + + /* +@@ -854,6 +854,7 @@ static int atkbd_probe(struct atkbd *atk + return -1; + } + ++deactivate_kbd: + /* + * Make sure nothing is coming from the keyboard and disturbs our + * internal state. diff --git a/queue-5.15/series b/queue-5.15/series index 33d551ecc5..1e7732a5a2 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -73,3 +73,4 @@ hid-lenovo-add-support-for-thinkpad-x1-tablet-thin-k.patch vt-add-missing-notification-when-switching-back-to-t.patch hid-add-ignore-quirk-for-smartlinktechnology.patch hid-quirks-add-quirk-for-2-chicony-electronics-hp-5m.patch +input-atkbd-do-not-skip-atkbd_deactivate-when-skipping-atkbd_cmd_getid.patch -- 2.47.2