mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	Except for renames and line changes the only conflict was in allocate_partition in handling MTD_WRITEABLE. Hopefully it was handled correctly. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From c5ceaba74083daf619bdb34d4871e297a177eebf Mon Sep 17 00:00:00 2001
 | 
						|
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
 | 
						|
Date: Wed, 21 Jun 2017 08:26:43 +0200
 | 
						|
Subject: [PATCH] mtd: partitions: remove sysfs files when deleting all
 | 
						|
 master's partitions
 | 
						|
MIME-Version: 1.0
 | 
						|
Content-Type: text/plain; charset=UTF-8
 | 
						|
Content-Transfer-Encoding: 8bit
 | 
						|
 | 
						|
When support for sysfs "offset" file was added it missed to update the
 | 
						|
del_mtd_partitions function. It deletes partitions just like
 | 
						|
mtd_del_partition does so both should also take care of removing sysfs
 | 
						|
files.
 | 
						|
 | 
						|
This change moves sysfs_remove_files call to the shared function to fix
 | 
						|
this issue.
 | 
						|
 | 
						|
Fixes: a62c24d755291 ("mtd: part: Add sysfs variable for offset of partition")
 | 
						|
Cc: Dan Ehrenberg <dehrenberg@chromium.org>
 | 
						|
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
 | 
						|
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
 | 
						|
---
 | 
						|
 drivers/mtd/mtdpart.c | 4 ++--
 | 
						|
 1 file changed, 2 insertions(+), 2 deletions(-)
 | 
						|
 | 
						|
--- a/drivers/mtd/mtdpart.c
 | 
						|
+++ b/drivers/mtd/mtdpart.c
 | 
						|
@@ -660,6 +660,8 @@ static int __mtd_del_partition(struct mt
 | 
						|
 {
 | 
						|
 	int err;
 | 
						|
 
 | 
						|
+	sysfs_remove_files(&priv->mtd.dev.kobj, mtd_partition_attrs);
 | 
						|
+
 | 
						|
 	err = del_mtd_device(&priv->mtd);
 | 
						|
 	if (err)
 | 
						|
 		return err;
 | 
						|
@@ -700,8 +702,6 @@ int mtd_del_partition(struct mtd_info *m
 | 
						|
 	list_for_each_entry_safe(slave, next, &mtd_partitions, list)
 | 
						|
 		if ((slave->master == master) &&
 | 
						|
 		    (slave->mtd.index == partno)) {
 | 
						|
-			sysfs_remove_files(&slave->mtd.dev.kobj,
 | 
						|
-					   mtd_partition_attrs);
 | 
						|
 			ret = __mtd_del_partition(slave);
 | 
						|
 			break;
 | 
						|
 		}
 |