]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Input: xpad - move pending clear to the correct location
authorPavel Rojtberg <rojtberg@gmail.com>
Fri, 27 May 2016 23:22:25 +0000 (16:22 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Jun 2016 01:23:35 +0000 (18:23 -0700)
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

index 1142a93dd90b0ad8d25b6dbbd15cf8f9b4ee11b1..39cc52f9ef928adab29f78e006f7bc671ecb4c56 100644 (file)
@@ -756,6 +756,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;
        }
 
@@ -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;