diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 042d221d33cc1675fadf7ee291e86717f2c8f6c9..ac25db111f4828d2674f15205c1bb513556c6668 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -2407,8 +2407,10 @@ static int rescuer_thread(void *__wq) repeat: set_current_state(TASK_INTERRUPTIBLE); - if (kthread_should_stop()) + if (kthread_should_stop()) { + __set_current_state(TASK_RUNNING); return 0; + } /* * See whether any cpu is asking for help. Unbounded