*/
                thread = READ_ONCE(napi->thread);
                if (thread) {
-                       /* Avoid doing set_bit() if the thread is in
-                        * INTERRUPTIBLE state, cause napi_thread_wait()
-                        * makes sure to proceed with napi polling
-                        * if the thread is explicitly woken from here.
-                        */
-                       if (READ_ONCE(thread->__state) != TASK_INTERRUPTIBLE)
-                               set_bit(NAPI_STATE_SCHED_THREADED, &napi->state);
+                       set_bit(NAPI_STATE_SCHED_THREADED, &napi->state);
                        wake_up_process(thread);
                        return;
                }
 
 static int napi_thread_wait(struct napi_struct *napi)
 {
-       bool woken = false;
-
        set_current_state(TASK_INTERRUPTIBLE);
 
        while (!kthread_should_stop()) {
                 * Testing SCHED bit is not enough because SCHED bit might be
                 * set by some other busy poll thread or by napi_disable().
                 */
-               if (test_bit(NAPI_STATE_SCHED_THREADED, &napi->state) || woken) {
+               if (test_bit(NAPI_STATE_SCHED_THREADED, &napi->state)) {
                        WARN_ON(!list_empty(&napi->poll_list));
                        __set_current_state(TASK_RUNNING);
                        return 0;
                }
 
                schedule();
-               /* woken being true indicates this thread owns this napi. */
-               woken = true;
                set_current_state(TASK_INTERRUPTIBLE);
        }
        __set_current_state(TASK_RUNNING);