aboutsummaryrefslogtreecommitdiff
path: root/block/ll_rw_blk.c
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2007-07-09 12:38:05 +0200
committerJens Axboe <jens.axboe@oracle.com>2007-07-16 08:52:44 +0200
commit3d6392cfbd7dc11f23058e3493683afab4ac13a3 (patch)
tree70c2b65c479f5feb7a5214a4a4930d489a069b1f /block/ll_rw_blk.c
parent8f41958bdd577731f7411c9605cfaa9db6766809 (diff)
downloadlinux-2.6.34-ux500-3d6392cfbd7dc11f23058e3493683afab4ac13a3.tar.gz
bsg: support for full generic block layer SG v3
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'block/ll_rw_blk.c')
-rw-r--r--block/ll_rw_blk.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c
index ef42bb2b12b..3795e0708a2 100644
--- a/block/ll_rw_blk.c
+++ b/block/ll_rw_blk.c
@@ -4091,6 +4091,13 @@ int blk_register_queue(struct gendisk *disk)
return ret;
}
+ ret = bsg_register_disk(disk);
+ if (ret) {
+ elv_unregister_queue(q);
+ kobject_unregister(&q->kobj);
+ return ret;
+ }
+
return 0;
}
@@ -4099,6 +4106,7 @@ void blk_unregister_queue(struct gendisk *disk)
request_queue_t *q = disk->queue;
if (q && q->request_fn) {
+ bsg_unregister_disk(disk);
elv_unregister_queue(q);
kobject_uevent(&q->kobj, KOBJ_REMOVE);