From b55d656da4b3f6114032977298e17bc6c5e864a8 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Wed, 1 Jun 2005 02:39:36 -0500 Subject: [PATCH] --- yaml --- r: 3548 b: refs/heads/master c: 8121152c1770ef1cd029030d51802c65c489950d h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/input/mousedev.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index d4b30fabe5f9..4866cf1142a4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e334016fc1735e491385e14157a0360cd85c321b +refs/heads/master: 8121152c1770ef1cd029030d51802c65c489950d diff --git a/trunk/drivers/input/mousedev.c b/trunk/drivers/input/mousedev.c index 96fb9870834a..08b191180af0 100644 --- a/trunk/drivers/input/mousedev.c +++ b/trunk/drivers/input/mousedev.c @@ -220,6 +220,7 @@ static void mousedev_notify_readers(struct mousedev *mousedev, struct mousedev_h struct mousedev_list *list; struct mousedev_motion *p; unsigned long flags; + int wake_readers = 0; list_for_each_entry(list, &mousedev->list, node) { spin_lock_irqsave(&list->packet_lock, flags); @@ -255,11 +256,14 @@ static void mousedev_notify_readers(struct mousedev *mousedev, struct mousedev_h spin_unlock_irqrestore(&list->packet_lock, flags); - if (list->ready) + if (list->ready) { kill_fasync(&list->fasync, SIGIO, POLL_IN); + wake_readers = 1; + } } - wake_up_interruptible(&mousedev->wait); + if (wake_readers) + wake_up_interruptible(&mousedev->wait); } static void mousedev_touchpad_touch(struct mousedev *mousedev, int value)