Use io_worker_release() instead of hand coding it in io_worker_exit(). Signed-off-by: Pavel Begunkov <asml.silence@xxxxxxxxx> --- fs/io-wq.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fs/io-wq.c b/fs/io-wq.c index 811299ac9684..0c283bb18fb2 100644 --- a/fs/io-wq.c +++ b/fs/io-wq.c @@ -178,8 +178,7 @@ static void io_worker_exit(struct io_worker *worker) { struct io_wqe *wqe = worker->wqe; - if (refcount_dec_and_test(&worker->ref)) - complete(&worker->ref_done); + io_worker_release(worker); wait_for_completion(&worker->ref_done); raw_spin_lock(&wqe->lock); -- 2.33.1