diff --git a/block/genhd.c b/block/genhd.c index 7856e91ed470bb6b990c834dabf3086ab1cf8e6b..8846cbdc75d40de109ca4dd0d09b85448b6cc8ec 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -920,6 +920,7 @@ void del_gendisk(struct gendisk *disk) bdev = bdget_disk(disk, 0); if (bdev) mutex_lock(&bdev->bd_mutex); + disk->flags &= ~GENHD_FL_UP; /* invalidate stuff */ disk_part_iter_init(&piter, disk, DISK_PITER_INCL_EMPTY | DISK_PITER_REVERSE); @@ -935,7 +936,6 @@ void del_gendisk(struct gendisk *disk) invalidate_partition(disk, 0); set_capacity(disk, 0); - disk->flags &= ~GENHD_FL_UP; up_write(&disk->lookup_sem); if (!(disk->flags & GENHD_FL_HIDDEN))