]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Input: cyttsp5 - fix power control issue on wakeup
authorMikael Gonella-Bolduc <mgonellabolduc@dimonoff.com>
Wed, 23 Apr 2025 13:52:43 +0000 (09:52 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 18 May 2025 06:24:06 +0000 (08:24 +0200)
commit 7675b5efd81fe6d524e29d5a541f43201e98afa8 upstream.

The power control function ignores the "on" argument when setting the
report ID, and thus is always sending HID_POWER_SLEEP. This causes a
problem when trying to wakeup.

Fix by sending the state variable, which contains the proper HID_POWER_ON or
HID_POWER_SLEEP based on the "on" argument.

Fixes: 3c98b8dbdced ("Input: cyttsp5 - implement proper sleep and wakeup procedures")
Cc: stable@vger.kernel.org
Signed-off-by: Mikael Gonella-Bolduc <mgonellabolduc@dimonoff.com>
Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
Reviewed-by: Alistair Francis <alistair@alistair23.me>
Link: https://lore.kernel.org/r/20250423135243.1261460-1-hugo@hugovil.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/input/touchscreen/cyttsp5.c

index 6c9bd1f238fccff3e28a1fa13279469cfb483ccd..a74b34d8df2a22359a6980c016019d4fc0a6af4f 100644 (file)
@@ -580,7 +580,7 @@ static int cyttsp5_power_control(struct cyttsp5 *ts, bool on)
        int rc;
 
        SET_CMD_REPORT_TYPE(cmd[0], 0);
-       SET_CMD_REPORT_ID(cmd[0], HID_POWER_SLEEP);
+       SET_CMD_REPORT_ID(cmd[0], state);
        SET_CMD_OPCODE(cmd[1], HID_CMD_SET_POWER);
 
        rc = cyttsp5_write(ts, HID_COMMAND_REG, cmd, sizeof(cmd));