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    [from the cache]
©2003-2011 Jasper Spaans