summaryrefslogtreecommitdiff
path: root/block/genhd.c
diff options
context:
space:
mode:
Diffstat (limited to 'block/genhd.c')
-rw-r--r--block/genhd.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/block/genhd.c b/block/genhd.c
index 633751dbb9a9..d839723303c8 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -587,6 +587,8 @@ void add_disk(struct gendisk *disk)
WARN_ON(disk->minors && !(disk->major || disk->first_minor));
WARN_ON(!disk->minors && !(disk->flags & GENHD_FL_EXT_DEVT));
+ disk->flags |= GENHD_FL_UP;
+
retval = blk_alloc_devt(&disk->part0, &devt);
if (retval) {
WARN_ON(1);
@@ -594,8 +596,6 @@ void add_disk(struct gendisk *disk)
}
disk_to_dev(disk)->devt = devt;
- disk->flags |= GENHD_FL_UP;
-
/* ->major and ->first_minor aren't supposed to be
* dereferenced from here on, but set them just in case.
*/
@@ -1105,7 +1105,7 @@ static void disk_release(struct device *dev)
disk_replace_part_tbl(disk, NULL);
free_part_stats(&disk->part0);
free_part_info(&disk->part0);
- if (disk->queue && disk->flags & GENHD_FL_UP)
+ if (disk->queue)
blk_put_queue(disk->queue);
kfree(disk);
}