From: Michael Gruber <lists.mg@xxxxxxxxxxxxxx> The messages for led/rumble are exactly 3 and 8 bytes respectively. Hence set up the transfer_buffer_length accordingly. Signed-off-by: Michael Gruber <lists.mg@xxxxxxxxxxxxxx> --- Hi, my Xbox360 Controller will not work at all unless this is set up correctly. I am new to linux kernel programming and would appreciate any kinds of comments. drivers/input/joystick/xpad.c | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/input/joystick/xpad.c 2008-04-05 15:18:37.000000000 +0200 +++ b/drivers/input/joystick/xpad.c 2008-04-05 15:18:25.000000000 +0200 @@ -558,6 +558,7 @@ static int xpad_play_effect(struct input 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); } @@ -594,6 +595,7 @@ static void xpad_send_led_command(struct 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); } -- 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