summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaleb Sander Mateos <csander@purestorage.com>2025-03-28 12:04:08 -0600
committerJens Axboe <axboe@kernel.dk>2025-03-28 16:15:43 -0600
commit9d7fa99189709b80eb16094aad18f7e492b835de (patch)
treee30424e0faa8f16051389937f3063f085d4b40b9
parentdfbce8b798fb848a42706e2e544b78b3db22aaae (diff)
ublk: skip 1 NULL check in ublk_cmd_list_tw_cb() loop
ublk_cmd_list_tw_cb() is always performed on a non-empty request list. So don't check whether rq is NULL on the first iteration of the loop, just on subsequent iterations. Signed-off-by: Caleb Sander Mateos <csander@purestorage.com> Link: https://lore.kernel.org/r/20250328180411.2696494-3-csander@purestorage.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--drivers/block/ublk_drv.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/block/ublk_drv.c b/drivers/block/ublk_drv.c
index 39efe443e235..8b9780c0feab 100644
--- a/drivers/block/ublk_drv.c
+++ b/drivers/block/ublk_drv.c
@@ -1290,12 +1290,12 @@ static void ublk_cmd_list_tw_cb(struct io_uring_cmd *cmd,
struct ublk_queue *ubq = rq->mq_hctx->driver_data;
struct request *next;
- while (rq) {
+ do {
next = rq->rq_next;
rq->rq_next = NULL;
ublk_dispatch_req(ubq, rq, issue_flags);
rq = next;
- }
+ } while (rq);
}
static void ublk_queue_cmd_list(struct ublk_queue *ubq, struct rq_list *l)