diff --git a/fs/io_uring.c b/fs/io_uring.c
index 8498f74595f3d6392e4698bf2c1c79fb438a3971..87d198d223a20fd6e63e23b4bfdb4f13ddb7a53c 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -5563,7 +5563,8 @@ static int io_timeout_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe,
 
 	data->mode = io_translate_timeout_mode(flags);
 	hrtimer_init(&data->timer, CLOCK_MONOTONIC, data->mode);
-	io_req_track_inflight(req);
+	if (is_timeout_link)
+		io_req_track_inflight(req);
 	return 0;
 }