]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
block, blk-sysfs: Fix an err return path in blk_register_queue()
authorLiu Yuan <tailai.ly@taobao.com>
Tue, 19 Apr 2011 11:47:58 +0000 (13:47 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 2 May 2011 16:19:32 +0000 (09:19 -0700)
commit ed5302d3c25006a9edc7a7fbea97a30483f89ef7 upstream.

We do not call blk_trace_remove_sysfs() in err return path
if kobject_add() fails. This path fixes it.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
block/blk-sysfs.c

index 41fb69150b4d3c6758b0f5da6ff2005d4d7a0a3f..3655e193e60eab31f18712be498c181ab810ba91 100644 (file)
@@ -511,8 +511,10 @@ int blk_register_queue(struct gendisk *disk)
                return ret;
 
        ret = kobject_add(&q->kobj, kobject_get(&dev->kobj), "%s", "queue");
-       if (ret < 0)
+       if (ret < 0) {
+               blk_trace_remove_sysfs(dev);
                return ret;
+       }
 
        kobject_uevent(&q->kobj, KOBJ_ADD);