Messages in this thread Patch in this message | | | Subject | [PATCH 1/4] Make mousedev.c report all events to user space immediately | From | Peter Osterlund <> | Date | 30 Jan 2005 11:31:26 +0100 |
| |
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/
| |