X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=block%2Fll_rw_blk.c;h=3795e0708a229b9641d2c70354b81e641dc3853b;hb=9e69fbb5373f7c081acdf2b75d7bac7e95023dd1;hp=ef42bb2b12b6dd89b0edc1734485e66147920759;hpb=0f166396e7e8931bb4acfd1a6ea1bd4f0b43f1dd;p=linux-2.6-omap-h63xx.git 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);