mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/drivers/mtd/devices/block2mtd.c
 | 
						|
+++ b/drivers/mtd/devices/block2mtd.c
 | 
						|
@@ -264,12 +264,13 @@ static int _open_bdev(struct block2mtd_d
 | 
						|
 	bdev = blkdev_get_by_path(dev->devname, mode, dev);
 | 
						|
 #ifndef MODULE
 | 
						|
 	if (IS_ERR(bdev)) {
 | 
						|
+		dev_t devt;
 | 
						|
 
 | 
						|
 		/* We might not have rootfs mounted at this point. Try
 | 
						|
 		   to resolve the device name by other means. */
 | 
						|
 
 | 
						|
 		wait_for_device_probe();
 | 
						|
-		dev_t devt = name_to_dev_t(dev->devname);
 | 
						|
+		devt = name_to_dev_t(dev->devname);
 | 
						|
 		if (devt)
 | 
						|
 			bdev = blkdev_get_by_dev(devt, mode, dev);
 | 
						|
 	}
 | 
						|
@@ -330,7 +331,7 @@ static int block2mtd_refresh(struct mtd_
 | 
						|
 	_close_bdev(dev);
 | 
						|
 
 | 
						|
 	/* open the whole disk, issue a partition rescan, then */
 | 
						|
-	bdev = blkdev_get_by_dev(devt, FMODE_WRITE | FMODE_READ);
 | 
						|
+	bdev = blkdev_get_by_dev(devt, FMODE_WRITE | FMODE_READ, mtd);
 | 
						|
 	if (!bdev || !bdev->bd_disk)
 | 
						|
 		err = -EINVAL;
 | 
						|
 #ifndef CONFIG_MTD_BLOCK2MTD_MODULE
 | 
						|
@@ -395,7 +396,7 @@ static struct block2mtd_dev *add_device(
 | 
						|
 	dev->mtd.refresh_device = block2mtd_refresh;
 | 
						|
 
 | 
						|
 	part = kzalloc(sizeof(struct mtd_partition), GFP_KERNEL);
 | 
						|
-	part->name = dev->mtd.name;
 | 
						|
+	part->name = name;
 | 
						|
 	part->offset = 0;
 | 
						|
 	part->size = dev->mtd.size;
 | 
						|
 	if (add_mtd_partitions(&dev->mtd, part, 1)) {
 |