diff --git a/fs/io_uring.c b/fs/io_uring.c
index 10b2367138be24b6918edade203c1cbdfa0ce4ad..55892e0227dd7634fe5b46db6489942292ee2000 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -2738,7 +2738,7 @@ static void kiocb_done(struct kiocb *kiocb, ssize_t ret,
 
 	if (check_reissue && req->flags & REQ_F_REISSUE) {
 		req->flags &= ~REQ_F_REISSUE;
-		if (!io_resubmit_prep(req)) {
+		if (io_resubmit_prep(req)) {
 			req_ref_get(req);
 			io_queue_async_work(req);
 		} else {