On 4/24/25 8:51 PM, Ming Lei wrote: > @@ -564,12 +558,7 @@ static int __add_disk_fwnode(struct device *parent, struct gendisk *disk, > out_free_ext_minor: > if (disk->major == BLOCK_EXT_MAJOR) > blk_free_ext_minor(disk->first_minor); > -out_exit_elevator: > - if (disk->queue->elevator) { > - mutex_lock(&disk->queue->elevator_lock); > - elevator_exit(disk->queue); > - mutex_unlock(&disk->queue->elevator_lock); > - } After restructuring __add_disk_fwnode() we may still need elevator_exit() in case when blk_register_queue is successful and so we should have set q->elevator to default. Now if after queue is registered successfully, for instance, bdi_register fails then in that case we still have to exit elevator to free its resources, isn't it? Thanks, --Nilay