summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorLiu Yuan <tailai.ly@taobao.com>2011-04-19 13:47:58 +0200
committerJens Axboe <jaxboe@fusionio.com>2011-04-19 13:51:53 +0200
commited5302d3c25006a9edc7a7fbea97a30483f89ef7 (patch)
tree7322cdd2607d7d8ffaf8a6539ca001771928363f /block
parentd350e6b6e819df0a383ff34465720bfaa0f91c79 (diff)
downloadlinux-ed5302d3c25006a9edc7a7fbea97a30483f89ef7.tar.gz
linux-ed5302d3c25006a9edc7a7fbea97a30483f89ef7.tar.bz2
linux-ed5302d3c25006a9edc7a7fbea97a30483f89ef7.zip
block, blk-sysfs: Fix an err return path in blk_register_queue()
We do not call blk_trace_remove_sysfs() in err return path if kobject_add() fails. This path fixes it. Cc: stable@kernel.org Signed-off-by: Liu Yuan <tailai.ly@taobao.com> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'block')
-rw-r--r--block/blk-sysfs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c
index 6d735122bc59..5d696adbc4dc 100644
--- a/block/blk-sysfs.c
+++ b/block/blk-sysfs.c
@@ -508,8 +508,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);