xpad - led/rumble completely disables controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, I'm trying to use my Xbox360 Controller with the xpad driver. But
as soon as the led status is set (i.e. right after pluging it in) it
becomes unresponsive. If I comment out the led-setting code in xpad.c
the controller works but only until a rumble effect is played, then it
will become unresponsive again.

I have found that this does not occur if transfer_buffer_length is set
to the exact value, 3 for the led and 8 for rumble, like so:

--- a/xpad.c	2008-03-21 16:39:58.000000000 +0100
+++ b/xpad.c	2008-03-21 16:38:41.000000000 +0100
@@ -469,6 +469,7 @@
 		xpad->odata[5] = 0x00;
 		xpad->odata[6] = 0x00;
 		xpad->odata[7] = 0x00;
+		xpad->irq_out->transfer_buffer_length = 8;
 		usb_submit_urb(xpad->irq_out, GFP_KERNEL);
 	}

@@ -502,6 +503,7 @@
 		xpad->odata[0] = 0x01;
 		xpad->odata[1] = 0x03;
 		xpad->odata[2] = command;
+		xpad->irq_out->transfer_buffer_length = 3;
 		usb_submit_urb(xpad->irq_out, GFP_KERNEL);
 		mutex_unlock(&xpad->odata_mutex);
 	}


Does that seem right?
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux