summaryrefslogtreecommitdiff
path: root/drivers/input/joystick/xpad.c
diff options
context:
space:
mode:
authorPavel Rojtberg <rojtberg@gmail.com>2015-10-19 10:06:58 +0300
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2015-10-19 10:11:22 +0300
commitfbe6a3114471cccaeaeabfa56937731503ece545 (patch)
treeb592ae04804f7edd2b579dc52808344fae7d786d /drivers/input/joystick/xpad.c
parent9378c0251c7ac4b247177fb0c292a025ca1b751c (diff)
downloadlinux-fbe6a3114471cccaeaeabfa56937731503ece545.tar.xz
Input: xpad - fix clash of presence handling with LED setting
Do not call xpad_identify_controller at init with wireless devices: it conflicts with the already sent presence packet and will be called by xpad360w_process_packet as needed anyway. Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/joystick/xpad.c')
-rw-r--r--drivers/input/joystick/xpad.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
index d382d48d6750..fd4100d56d8c 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -1001,8 +1001,15 @@ static int xpad_led_probe(struct usb_xpad *xpad)
if (error)
goto err_free_id;
- /* Light up the segment corresponding to controller number */
- xpad_identify_controller(xpad);
+ if (xpad->xtype == XTYPE_XBOX360) {
+ /*
+ * Light up the segment corresponding to controller
+ * number on wired devices. On wireless we'll do that
+ * when they respond to "presence" packet.
+ */
+ xpad_identify_controller(xpad);
+ }
+
return 0;
err_free_id: