diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2010-01-22 08:55:25 +0100 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2010-01-22 08:55:25 +0100 |
commit | 7755726fe90a8b253659756e6de68c1a55aa427f (patch) | |
tree | a3523fa77e07854db3b8089e3066a55ea997060c /drivers/input/serio/serio.c | |
parent | Input: sh_keysc - add mode 4 and mode 5 support (diff) | |
parent | Linux 2.6.33-rc5 (diff) | |
download | linux-7755726fe90a8b253659756e6de68c1a55aa427f.tar.xz linux-7755726fe90a8b253659756e6de68c1a55aa427f.zip |
Merge commit 'v2.6.33-rc5' into next
Diffstat (limited to 'drivers/input/serio/serio.c')
-rw-r--r-- | drivers/input/serio/serio.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/drivers/input/serio/serio.c b/drivers/input/serio/serio.c index ee69ec399e08..c3b626e9eae7 100644 --- a/drivers/input/serio/serio.c +++ b/drivers/input/serio/serio.c @@ -275,13 +275,7 @@ static void serio_handle_event(void) mutex_lock(&serio_mutex); - /* - * Note that we handle only one event here to give swsusp - * a chance to freeze kseriod thread. Serio events should - * be pretty rare so we are not concerned about taking - * performance hit. - */ - if ((event = serio_get_event())) { + while ((event = serio_get_event())) { switch (event->type) { @@ -367,10 +361,9 @@ static struct serio *serio_get_pending_child(struct serio *parent) static int serio_thread(void *nothing) { - set_freezable(); do { serio_handle_event(); - wait_event_freezable(serio_wait, + wait_event_interruptible(serio_wait, kthread_should_stop() || !list_empty(&serio_event_list)); } while (!kthread_should_stop()); |