diff --git a/drivers/staging/dst/thread_pool.c b/drivers/staging/dst/thread_pool.c index c35754d5ec6d433006df335a5e8d4c8e11b05bb8..7bed4e851029bff19c570a3d4a198d69f6490281 100644 --- a/drivers/staging/dst/thread_pool.c +++ b/drivers/staging/dst/thread_pool.c @@ -115,7 +115,7 @@ void thread_pool_del_worker(struct thread_pool *p) { struct thread_pool_worker *w = NULL; - while (!w) { + while (!w && p->thread_num) { wait_event(p->wait, !list_empty(&p->ready_list) || !p->thread_num); dprintk("%s: locking list_empty: %d, thread_num: %d.\n",