diff options
Diffstat (limited to 'block/genhd.c')
-rw-r--r-- | block/genhd.c | 6 |
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); } |