drm/edid/firmware: Add built-in edid/1280x720.bin firmware
[platform/kernel/linux-starfive.git] / io_uring / timeout.c
index e8a8c20..4c6a566 100644 (file)
@@ -63,7 +63,7 @@ static bool io_kill_timeout(struct io_kiocb *req, int status)
                atomic_set(&req->ctx->cq_timeouts,
                        atomic_read(&req->ctx->cq_timeouts) + 1);
                list_del_init(&timeout->list);
-               io_req_tw_post_queue(req, status, 0);
+               io_req_queue_tw_complete(req, status);
                return true;
        }
        return false;
@@ -72,10 +72,12 @@ static bool io_kill_timeout(struct io_kiocb *req, int status)
 __cold void io_flush_timeouts(struct io_ring_ctx *ctx)
        __must_hold(&ctx->completion_lock)
 {
-       u32 seq = ctx->cached_cq_tail - atomic_read(&ctx->cq_timeouts);
+       u32 seq;
        struct io_timeout *timeout, *tmp;
 
        spin_lock_irq(&ctx->timeout_lock);
+       seq = ctx->cached_cq_tail - atomic_read(&ctx->cq_timeouts);
+
        list_for_each_entry_safe(timeout, tmp, &ctx->timeout_list, list) {
                struct io_kiocb *req = cmd_to_io_kiocb(timeout);
                u32 events_needed, events_got;
@@ -159,7 +161,7 @@ void io_disarm_next(struct io_kiocb *req)
                req->flags &= ~REQ_F_ARM_LTIMEOUT;
                if (link && link->opcode == IORING_OP_LINK_TIMEOUT) {
                        io_remove_next_linked(req);
-                       io_req_tw_post_queue(link, -ECANCELED, 0);
+                       io_req_queue_tw_complete(link, -ECANCELED);
                }
        } else if (req->flags & REQ_F_LINK_TIMEOUT) {
                struct io_ring_ctx *ctx = req->ctx;
@@ -168,7 +170,7 @@ void io_disarm_next(struct io_kiocb *req)
                link = io_disarm_linked_timeout(req);
                spin_unlock_irq(&ctx->timeout_lock);
                if (link)
-                       io_req_tw_post_queue(link, -ECANCELED, 0);
+                       io_req_queue_tw_complete(link, -ECANCELED);
        }
        if (unlikely((req->flags & REQ_F_FAIL) &&
                     !(req->flags & REQ_F_HARDLINK)))
@@ -282,11 +284,11 @@ static void io_req_task_link_timeout(struct io_kiocb *req, bool *locked)
                        ret = io_try_cancel(req->task->io_uring, &cd, issue_flags);
                }
                io_req_set_res(req, ret ?: -ETIME, 0);
-               io_req_complete_post(req);
+               io_req_task_complete(req, locked);
                io_put_req(prev);
        } else {
                io_req_set_res(req, -ETIME, 0);
-               io_req_complete_post(req);
+               io_req_task_complete(req, locked);
        }
 }