blob: c02330eb2dfbb9142c378c30bbe448d4aef90858 [file] [log] [blame]
From 4efc6939a83c54fb3417541be48991afd0290ba3 Mon Sep 17 00:00:00 2001
From: Pavel Rojtberg <rojtberg@gmail.com>
Date: Fri, 27 May 2016 16:22:25 -0700
Subject: Input: xpad - move pending clear to the correct location
From: Pavel Rojtberg <rojtberg@gmail.com>
commit 4efc6939a83c54fb3417541be48991afd0290ba3 upstream.
otherwise we lose ff commands: https://github.com/paroj/xpad/issues/27
Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/input/joystick/xpad.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -756,6 +756,7 @@ static bool xpad_prepare_next_out_packet
if (packet) {
memcpy(xpad->odata, packet->data, packet->len);
xpad->irq_out->transfer_buffer_length = packet->len;
+ packet->pending = false;
return true;
}
@@ -797,7 +798,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;