On Wed, Jul 20, 2022 at 03:05:40PM +0200, Christoph Hellwig wrote: > To fully clean up the queue if the disk allocation fails we need to > call blk_mq_destroy_queue and not just blk_put_queue. > > Fixes: 6f8191fdf41d ("block: simplify disk shutdown") > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > --- > block/blk-mq.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/block/blk-mq.c b/block/blk-mq.c > index d716b7f3763f3..70177ee74295b 100644 > --- a/block/blk-mq.c > +++ b/block/blk-mq.c > @@ -3960,7 +3960,7 @@ struct gendisk *__blk_mq_alloc_disk(struct blk_mq_tag_set *set, void *queuedata, > > disk = __alloc_disk_node(q, set->numa_node, lkclass); > if (!disk) { > - blk_put_queue(q); > + blk_mq_destroy_queue(q); > return ERR_PTR(-ENOMEM); The same change is needed in case of blk_mq_init_allocated_queue() failure too. Thanks, Ming