Unverified Commit db5f05c2 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!15583 block: fix error unwinding in blk_register_queue

parents d54ba3f5 f9d6f1f7
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -961,15 +961,21 @@ int blk_register_queue(struct gendisk *disk)
		return ret;

	mutex_lock(&queue_to_wrapper(q)->sysfs_dir_lock);

	ret = kobject_add(&q->kobj, kobject_get(&dev->kobj), "%s", "queue");
	if (ret < 0) {
		blk_trace_remove_sysfs(dev);
		goto unlock;
	}

	if (q->mq_ops)
		__blk_mq_register_dev(dev, q);
	if (q->mq_ops) {
		ret = __blk_mq_register_dev(dev, q);
		if (ret) {
			blk_trace_remove_sysfs(dev);
			kobject_del(&q->kobj);
			kobject_put(&dev->kobj);
			goto unlock;
		}
	}
	mutex_lock(&q->sysfs_lock);

	mutex_lock(&q->debugfs_mutex);