__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;