Once .queue_rq return BLK_STS_RESOURCE or BLK_STS_DEV_RESOURCE, we will insert the rq back to list, and will return false since '(!list_empty)' always be true. The latter check seems unused. Signed-off-by: yangerkun <yangerkun@xxxxxxxxxx> --- block/blk-mq.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 4e0d173beaa3..5e561283580f 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -1361,13 +1361,6 @@ bool blk_mq_dispatch_rq_list(struct request_queue *q, struct list_head *list, } else blk_mq_update_dispatch_busy(hctx, false); - /* - * If the host/device is unable to accept more work, inform the - * caller of that. - */ - if (ret == BLK_STS_RESOURCE || ret == BLK_STS_DEV_RESOURCE) - return false; - return (queued + errors) != 0; } -- 2.25.4