Input: vsxxxaa - fix code dropping bytes from queue
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 24 Oct 2014 22:33:53 +0000 (15:33 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 28 Oct 2014 17:33:48 +0000 (10:33 -0700)
I believe the intent of the code was to drop oldest bytes from the queue,
not the latest if we drop one byte and both latest and some oldest of we
are dropping more than one.

Acked-by: Jan-Benedict Glaw <jbglaw@lug-owl.de>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/mouse/vsxxxaa.c

index 38298232124fc10de191e26f51add23662040def..abd494411e69cc46bc39e826bef82d22b5e8b478 100644 (file)
@@ -128,7 +128,7 @@ static void vsxxxaa_drop_bytes(struct vsxxxaa *mouse, int num)
        if (num >= mouse->count) {
                mouse->count = 0;
        } else {
-               memmove(mouse->buf, mouse->buf + num - 1, BUFLEN - num);
+               memmove(mouse->buf, mouse->buf + num, BUFLEN - num);
                mouse->count -= num;
        }
 }