diff options
Diffstat (limited to 'target/linux/generic/backport-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch')
-rw-r--r-- | target/linux/generic/backport-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/target/linux/generic/backport-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch b/target/linux/generic/backport-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch new file mode 100644 index 0000000000..0f1b502b70 --- /dev/null +++ b/target/linux/generic/backport-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch @@ -0,0 +1,45 @@ +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; + } |