diff options
| author | Pavel Rojtberg <rojtberg@gmail.com> | 2016-05-27 19:22:25 -0400 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2016-05-27 19:32:46 -0400 |
| commit | 4efc6939a83c54fb3417541be48991afd0290ba3 (patch) | |
| tree | ee8c5b3296f12c286d6e28474f2f4730bb730861 | |
| parent | affa80bd97f7ca282d1faa91667b3ee9e4c590e6 (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.c | 2 |
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 | ||
