| 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; |
| |