From 586ae64d807fc7402e907a3cdbc6131c37a36716 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Thu, 24 Dec 2009 21:40:43 -0800 Subject: [PATCH] --- yaml --- r: 178650 b: refs/heads/master c: ea486e681188d64c6a101d8d06414aef0f9f0cd3 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/input/serio/serio.c | 11 ++--------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index 3bb1bfc82139..c7308df47163 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4a299bf591bc5bef3bde8316e603b9eaec5a7696 +refs/heads/master: ea486e681188d64c6a101d8d06414aef0f9f0cd3 diff --git a/trunk/drivers/input/serio/serio.c b/trunk/drivers/input/serio/serio.c index 0236f0d5fd91..e0f30186d513 100644 --- a/trunk/drivers/input/serio/serio.c +++ b/trunk/drivers/input/serio/serio.c @@ -284,13 +284,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) { case SERIO_REGISTER_PORT: @@ -380,10 +374,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());