From 5408399fcb468164a76df8cea9505203c21f4158 Mon Sep 17 00:00:00 2001 From: David Bauer Date: Wed, 17 Feb 2021 03:24:07 +0100 Subject: [PATCH] generic: don't lock when recursively deleting partitions When recursively deleting partitions, don't acquire the masters partition lock twice. Otherwise the process endy up in a deadlocked state. Signed-off-by: David Bauer --- ...when-recursively-deleting-partitions.patch | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 target/linux/generic/pending-5.10/499-mtd-don-t-lock-when-recursively-deleting-partitions.patch diff --git a/target/linux/generic/pending-5.10/499-mtd-don-t-lock-when-recursively-deleting-partitions.patch b/target/linux/generic/pending-5.10/499-mtd-don-t-lock-when-recursively-deleting-partitions.patch new file mode 100644 index 0000000000..505131b684 --- /dev/null +++ b/target/linux/generic/pending-5.10/499-mtd-don-t-lock-when-recursively-deleting-partitions.patch @@ -0,0 +1,24 @@ +From: David Bauer +Date: Wed, 17 Feb 2021 03:21:39 +0100 +Subject: [PATCH] mtd: don't lock when recursively deleting partitions + +When recursively deleting partitions, don't acquire the masters +partition lock twice. Otherwise the process endy up in a deadlocked +state. + +Signed-off-by: David Bauer +--- + drivers/mtd/mtdpart.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/mtd/mtdpart.c ++++ b/drivers/mtd/mtdpart.c +@@ -474,7 +474,7 @@ static int __del_mtd_partitions(struct m + + list_for_each_entry_safe(child, next, &mtd->partitions, part.node) { + if (mtd_has_partitions(child)) +- del_mtd_partitions(child); ++ __del_mtd_partitions(child); + + pr_info("Deleting %s MTD partition\n", child->name); + ret = del_mtd_device(child);