summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Gruber <lists.mg@googlemail.com>2008-04-15 01:31:47 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2008-04-15 01:31:47 -0400
commit04021e4e401d7ac2051839dd5b00a701c9119dd9 (patch)
tree730ddade85c0b42ef2b9ea1ad0ca2b8459e13d99
parentda3e4c885e5ebbccc8181f53d8ae74c4c22d506f (diff)
Input: xpad - set proper buffer length for outgoing requests
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@googlemail.com> Acked-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
-rw-r--r--drivers/input/joystick/xpad.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
index d4d289e75dc2..52ddb04644ab 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -558,6 +558,7 @@ static int xpad_play_effect(struct input_dev *dev, void *data,
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 usb_xpad *xpad, int command)
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);
}