瀏覽代碼

Input: serio - do not mark kseriod freezable anymore

We used to make kseriod freezable to prevent unnecessary attempts at
resuming keyboard and mouse before taking hibernation image when suspend
and hibernation were sharing PM operations. Now that they are separated
and we don't risk resuming during 'thaw' we don't need to freeze kseriod
anymore. This will allow us to start resetting mouse and keyboard a bit
earlier, before rest of the userspace comes back up.

Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov 15 年之前
父節點
當前提交
ea486e6811
共有 1 個文件被更改,包括 2 次插入9 次删除
  1. 2 9
      drivers/input/serio/serio.c

+ 2 - 9
drivers/input/serio/serio.c

@@ -284,13 +284,7 @@ static void serio_handle_event(void)
 
 
 	mutex_lock(&serio_mutex);
 	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) {
 		switch (event->type) {
 			case SERIO_REGISTER_PORT:
 			case SERIO_REGISTER_PORT:
@@ -380,10 +374,9 @@ static struct serio *serio_get_pending_child(struct serio *parent)
 
 
 static int serio_thread(void *nothing)
 static int serio_thread(void *nothing)
 {
 {
-	set_freezable();
 	do {
 	do {
 		serio_handle_event();
 		serio_handle_event();
-		wait_event_freezable(serio_wait,
+		wait_event_interruptible(serio_wait,
 			kthread_should_stop() || !list_empty(&serio_event_list));
 			kthread_should_stop() || !list_empty(&serio_event_list));
 	} while (!kthread_should_stop());
 	} while (!kthread_should_stop());