Browse Source

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>
Pavel Rojtberg 9 years ago
parent
commit
fbe6a31144
1 changed files with 9 additions and 2 deletions
  1. 9 2
      drivers/input/joystick/xpad.c

+ 9 - 2
drivers/input/joystick/xpad.c

@@ -1001,8 +1001,15 @@ static int xpad_led_probe(struct usb_xpad *xpad)
 	if (error)
 	if (error)
 		goto err_free_id;
 		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;
 	return 0;
 
 
 err_free_id:
 err_free_id: