From: David Bauer Date: Wed, 17 Feb 2021 02:24:07 +0000 (+0100) Subject: generic: don't lock when recursively deleting partitions X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=5408399fcb468164a76df8cea9505203c21f4158;p=openwrt%2Fstaging%2Fwigyori.git 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 --- 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);