Input: xpad - adjust error handling for disconnect
authorMario Limonciello <mario.limonciello@amd.com>
Fri, 27 Jun 2025 19:23:20 +0000 (12:23 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 27 Jun 2025 19:24:54 +0000 (12:24 -0700)
When a device supporting xpad is disconnected it's expected that a
URB will fail to transmit.

Only show an error message when the error isn't -ENODEV.

Fixes: 7fc595f4c0263 ("Input: xpad - correctly handle concurrent LED and FF requests")
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Link: https://lore.kernel.org/r/20250609014718.236827-2-superm1@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/joystick/xpad.c

index c066a4da7c140d771ac47288cf729bfa9de93143..714a694fc0e5e791e80943461bc68bf0b6a2d58b 100644 (file)
@@ -1344,9 +1344,10 @@ static int xpad_try_sending_next_out_packet(struct usb_xpad *xpad)
                usb_anchor_urb(xpad->irq_out, &xpad->irq_out_anchor);
                error = usb_submit_urb(xpad->irq_out, GFP_ATOMIC);
                if (error) {
-                       dev_err(&xpad->intf->dev,
-                               "%s - usb_submit_urb failed with result %d\n",
-                               __func__, error);
+                       if (error != -ENODEV)
+                               dev_err(&xpad->intf->dev,
+                                       "%s - usb_submit_urb failed with result %d\n",
+                                       __func__, error);
                        usb_unanchor_urb(xpad->irq_out);
                        return -EIO;
                }