aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/brd.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/block/brd.c b/drivers/block/brd.c
index e9a19d99f928..b1efa8f9ff42 100644
--- a/drivers/block/brd.c
+++ b/drivers/block/brd.c
@@ -548,7 +548,7 @@ static struct kobject *brd_probe(dev_t dev, int *part, void *data)
548 struct kobject *kobj; 548 struct kobject *kobj;
549 549
550 mutex_lock(&brd_devices_mutex); 550 mutex_lock(&brd_devices_mutex);
551 brd = brd_init_one(dev & MINORMASK); 551 brd = brd_init_one(MINOR(dev) >> part_shift);
552 kobj = brd ? get_disk(brd->brd_disk) : ERR_PTR(-ENOMEM); 552 kobj = brd ? get_disk(brd->brd_disk) : ERR_PTR(-ENOMEM);
553 mutex_unlock(&brd_devices_mutex); 553 mutex_unlock(&brd_devices_mutex);
554 554
@@ -589,10 +589,10 @@ static int __init brd_init(void)
589 589
590 if (rd_nr) { 590 if (rd_nr) {
591 nr = rd_nr; 591 nr = rd_nr;
592 range = rd_nr; 592 range = rd_nr << part_shift;
593 } else { 593 } else {
594 nr = CONFIG_BLK_DEV_RAM_COUNT; 594 nr = CONFIG_BLK_DEV_RAM_COUNT;
595 range = 1UL << (MINORBITS - part_shift); 595 range = 1UL << MINORBITS;
596 } 596 }
597 597
598 if (register_blkdev(RAMDISK_MAJOR, "ramdisk")) 598 if (register_blkdev(RAMDISK_MAJOR, "ramdisk"))
@@ -631,7 +631,7 @@ static void __exit brd_exit(void)
631 unsigned long range; 631 unsigned long range;
632 struct brd_device *brd, *next; 632 struct brd_device *brd, *next;
633 633
634 range = rd_nr ? rd_nr : 1UL << (MINORBITS - part_shift); 634 range = rd_nr ? rd_nr << part_shift : 1UL << MINORBITS;
635 635
636 list_for_each_entry_safe(brd, next, &brd_devices, brd_list) 636 list_for_each_entry_safe(brd, next, &brd_devices, brd_list)
637 brd_del_one(brd); 637 brd_del_one(brd);