io_cqring_ev_posted(ctx);
 }
 
-static void io_free_req(struct io_kiocb *req, struct io_kiocb **nxt)
+static void io_free_req_find_next(struct io_kiocb *req, struct io_kiocb **nxt)
 {
        if (likely(!(req->flags & REQ_F_LINK))) {
                __io_free_req(req);
        __io_free_req(req);
 }
 
+static void io_free_req(struct io_kiocb *req)
+{
+       io_free_req_find_next(req, NULL);
+}
+
 /*
  * Drop reference to request, return next in chain (if there is one) if this
  * was the last reference to this request.
        struct io_kiocb *nxt = NULL;
 
        if (refcount_dec_and_test(&req->refs))
-               io_free_req(req, &nxt);
+               io_free_req_find_next(req, &nxt);
 
        if (nxt) {
                if (nxtptr)
 static void io_put_req(struct io_kiocb *req)
 {
        if (refcount_dec_and_test(&req->refs))
-               io_free_req(req, NULL);
+               io_free_req(req);
 }
 
 static void io_double_put_req(struct io_kiocb *req)
                                if (to_free == ARRAY_SIZE(reqs))
                                        io_free_req_many(ctx, reqs, &to_free);
                        } else {
-                               io_free_req(req, NULL);
+                               io_free_req(req);
                        }
                }
        }