]> git.ipfire.org Git - thirdparty/kernel/linux.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)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 28 Apr 2025 19:15:53 +0000 (12:15 -0700)
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>
drivers/input/touchscreen/cyttsp5.c

index 14c43f0a6c217d7fbe4c6c1520ce0555796c05d9..071b7c9bf566eb0b58e302a941ec085be1eb5683 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));