From: Pavel Rojtberg Date: Fri, 27 May 2016 23:22:25 +0000 (-0700) Subject: Input: xpad - move pending clear to the correct location X-Git-Tag: v4.5.7~100 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ec0b397bdb5c89a58082f7f748051f7fbcff8113;p=thirdparty%2Fkernel%2Fstable.git Input: xpad - move pending clear to the correct location commit 4efc6939a83c54fb3417541be48991afd0290ba3 upstream. otherwise we lose ff commands: https://github.com/paroj/xpad/issues/27 Signed-off-by: Pavel Rojtberg Signed-off-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c index e8a84d12b7fff..e13cf7464943e 100644 --- a/drivers/input/joystick/xpad.c +++ b/drivers/input/joystick/xpad.c @@ -754,6 +754,7 @@ static bool xpad_prepare_next_out_packet(struct usb_xpad *xpad) if (packet) { memcpy(xpad->odata, packet->data, packet->len); xpad->irq_out->transfer_buffer_length = packet->len; + packet->pending = false; return true; } @@ -795,7 +796,6 @@ static void xpad_irq_out(struct urb *urb) switch (status) { case 0: /* success */ - xpad->out_packets[xpad->last_out_packet].pending = false; xpad->irq_out_active = xpad_prepare_next_out_packet(xpad); break;