aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Rojtberg <rojtberg@gmail.com>2016-05-27 19:22:25 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2016-05-27 19:32:46 -0400
commit4efc6939a83c54fb3417541be48991afd0290ba3 (patch)
treeee8c5b3296f12c286d6e28474f2f4730bb730861
parentaffa80bd97f7ca282d1faa91667b3ee9e4c590e6 (diff)
Input: xpad - move pending clear to the correct location
otherwise we lose ff commands: https://github.com/paroj/xpad/issues/27 Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com> Cc: stable@vger.kernel.org Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-rw-r--r--drivers/input/joystick/xpad.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
index 1142a93dd90b..39cc52f9ef92 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -756,6 +756,7 @@ static bool xpad_prepare_next_out_packet(struct usb_xpad *xpad)
756 if (packet) { 756 if (packet) {
757 memcpy(xpad->odata, packet->data, packet->len); 757 memcpy(xpad->odata, packet->data, packet->len);
758 xpad->irq_out->transfer_buffer_length = packet->len; 758 xpad->irq_out->transfer_buffer_length = packet->len;
759 packet->pending = false;
759 return true; 760 return true;
760 } 761 }
761 762
@@ -797,7 +798,6 @@ static void xpad_irq_out(struct urb *urb)
797 switch (status) { 798 switch (status) {
798 case 0: 799 case 0:
799 /* success */ 800 /* success */
800 xpad->out_packets[xpad->last_out_packet].pending = false;
801 xpad->irq_out_active = xpad_prepare_next_out_packet(xpad); 801 xpad->irq_out_active = xpad_prepare_next_out_packet(xpad);
802 break; 802 break;
803 803