]> git.baikalelectronics.ru Git - kernel.git/commitdiff
Input: xpad - fix wireless 360 controller breaking after suspend
authorCameron Gutman <aicommander@gmail.com>
Thu, 18 Aug 2022 15:44:09 +0000 (17:44 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 15 Oct 2022 05:54:41 +0000 (07:54 +0200)
commit 1a0a12f976e797e5c7e8c5ab8ca65e9b4bbe4a9f upstream.

Suspending and resuming the system can sometimes cause the out
URB to get hung after a reset_resume. This causes LED setting
and force feedback to break on resume. To avoid this, just drop
the reset_resume callback so the USB core rebinds xpad to the
wireless pads on resume if a reset happened.

A nice side effect of this change is the LED ring on wireless
controllers is now set correctly on system resume.

Cc: stable@vger.kernel.org
Fixes: 0eb49fc516ab ("Input: xpad - workaround dead irq_out after suspend/ resume")
Signed-off-by: Cameron Gutman <aicommander@gmail.com>
Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com>
Link: https://lore.kernel.org/r/20220818154411.510308-3-rojtberg@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/input/joystick/xpad.c

index 588915658c59ffea2ae83dba4bd0c68c8b3db29d..70dedc0f7827c30d3c5b3b67ace49741175912f8 100644 (file)
@@ -1983,7 +1983,6 @@ static struct usb_driver xpad_driver = {
        .disconnect     = xpad_disconnect,
        .suspend        = xpad_suspend,
        .resume         = xpad_resume,
-       .reset_resume   = xpad_resume,
        .id_table       = xpad_table,
 };