lkml.org 
[lkml]   [2005]   [Jan]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 1/4] Make mousedev.c report all events to user space immediately
    From
    Date
    mousedev_packet() incorrectly clears list->ready when called with
    "tail == head - 1". The effect is that the last mouse event from the
    hardware isn't reported to user space until another hardware mouse
    event arrives. This can make the left mouse button get stuck when
    tapping on a touchpad. When this happens, the button doesn't unstick
    until the next time you interact with the touchpad.

    Signed-off-by: Peter Osterlund <petero2@telia.com>
    ---

    linux-petero/drivers/input/mousedev.c | 4 ++--
    1 files changed, 2 insertions(+), 2 deletions(-)

    diff -puN drivers/input/mousedev.c~mousedev-ready-fix drivers/input/mousedev.c
    --- linux/drivers/input/mousedev.c~mousedev-ready-fix 2005-01-30 03:06:49.000000000 +0100
    +++ linux-petero/drivers/input/mousedev.c 2005-01-30 03:06:49.000000000 +0100
    @@ -467,10 +467,10 @@ static void mousedev_packet(struct mouse
    }

    if (!p->dx && !p->dy && !p->dz) {
    - if (list->tail != list->head)
    - list->tail = (list->tail + 1) % PACKET_QUEUE_LEN;
    if (list->tail == list->head)
    list->ready = 0;
    + else
    + list->tail = (list->tail + 1) % PACKET_QUEUE_LEN;
    }

    spin_unlock_irqrestore(&list->packet_lock, flags);
    _
    --
    Peter Osterlund - petero2@telia.com
    http://web.telia.com/~u89404340
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:10    [W:0.023 / U:0.484 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site