From: Yu Kuai <yukuai3@xxxxxxxxxx> 1) queue_requests_store() is the only caller of blk_mq_update_nr_requests(), where queue is already freezed, no need to check mq_freeze_depth; 2) q->tag_set must be set for request_based device, and queue_is_mq() is already checked in blk_mq_queue_attr_visible(), no need to check q->tag_set. Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx> --- block/blk-mq.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 9c68749124c6..ea2995d4a917 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -4921,21 +4921,14 @@ int blk_mq_update_nr_requests(struct request_queue *q, unsigned int nr) { struct blk_mq_tag_set *set = q->tag_set; struct blk_mq_hw_ctx *hctx; - int ret; unsigned long i; - - if (WARN_ON_ONCE(!q->mq_freeze_depth)) - return -EINVAL; - - if (!set) - return -EINVAL; + int ret = 0; if (q->nr_requests == nr) return 0; blk_mq_quiesce_queue(q); - ret = 0; queue_for_each_hw_ctx(q, hctx, i) { if (!hctx->tags) continue; -- 2.39.2