aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiu Yuan2011-04-19 06:47:58 -0500
committerJens Axboe2011-04-19 06:51:53 -0500
commited5302d3c25006a9edc7a7fbea97a30483f89ef7 (patch)
tree7322cdd2607d7d8ffaf8a6539ca001771928363f /block/blk-sysfs.c
parentd350e6b6e819df0a383ff34465720bfaa0f91c79 (diff)
downloadkernel-common-ed5302d3c25006a9edc7a7fbea97a30483f89ef7.tar.gz
kernel-common-ed5302d3c25006a9edc7a7fbea97a30483f89ef7.tar.xz
kernel-common-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/blk-sysfs.c')
-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 6d735122bc5..5d696adbc4d 100644
--- a/block/blk-sysfs.c
+++ b/block/blk-sysfs.c
@@ -508,8 +508,10 @@ int blk_register_queue(struct gendisk *disk)
508 return ret; 508 return ret;
509 509
510 ret = kobject_add(&q->kobj, kobject_get(&dev->kobj), "%s", "queue"); 510 ret = kobject_add(&q->kobj, kobject_get(&dev->kobj), "%s", "queue");
511 if (ret < 0) 511 if (ret < 0) {
512 blk_trace_remove_sysfs(dev);
512 return ret; 513 return ret;
514 }
513 515
514 kobject_uevent(&q->kobj, KOBJ_ADD); 516 kobject_uevent(&q->kobj, KOBJ_ADD);
515 517