block: remove a superflous queue kobject reference
authorChristoph Hellwig <hch@lst.de>
Tue, 28 Jun 2022 17:18:46 +0000 (19:18 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 28 Jun 2022 17:32:42 +0000 (11:32 -0600)
kobject_add already adds a reference to the parent that is dropped
on deletion, so don't bother grabbing another one.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/r/20220628171850.1313069-3-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-sysfs.c

index 5f3f731..f9373da 100644 (file)
@@ -812,14 +812,13 @@ int blk_register_queue(struct gendisk *disk)
 
        mutex_lock(&q->sysfs_dir_lock);
 
-       ret = kobject_add(&q->kobj, kobject_get(&dev->kobj), "%s", "queue");
+       ret = kobject_add(&q->kobj, &dev->kobj, "%s", "queue");
        if (ret < 0)
                goto unlock;
 
        ret = sysfs_create_group(&q->kobj, &queue_attr_group);
        if (ret) {
                kobject_del(&q->kobj);
-               kobject_put(&dev->kobj);
                goto unlock;
        }
 
@@ -883,7 +882,6 @@ put_dev:
        mutex_unlock(&q->sysfs_lock);
        mutex_unlock(&q->sysfs_dir_lock);
        kobject_del(&q->kobj);
-       kobject_put(&dev->kobj);
 
        return ret;
 }
@@ -941,6 +939,4 @@ void blk_unregister_queue(struct gendisk *disk)
        q->sched_debugfs_dir = NULL;
        q->rqos_debugfs_dir = NULL;
        mutex_unlock(&q->debugfs_mutex);
-
-       kobject_put(&disk_to_dev(disk)->kobj);
 }