From 37af2c7b296c66bd463943a3193df3c5e085a738 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>
Date: Mon, 1 Aug 2022 12:02:19 +0200
Subject: [PATCH] arm: mvebu: turris_omnia: Do not fail in fixup_mtd_partitions
 when partitions do not exist
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

All partitions are created by fixup_mtd_partitions() function, so they do
not have to exist just for their removal need.

Fixes: 92f36c8e74c1 ("arm: mvebu: turris_omnia: fixup MTD partitions in Linux' DTB")
Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Marek Behún <kabel@kernel.org>
---
 board/CZ.NIC/turris_omnia/turris_omnia.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/board/CZ.NIC/turris_omnia/turris_omnia.c b/board/CZ.NIC/turris_omnia/turris_omnia.c
index a7c1c1fc79..796c55f3c6 100644
--- a/board/CZ.NIC/turris_omnia/turris_omnia.c
+++ b/board/CZ.NIC/turris_omnia/turris_omnia.c
@@ -974,11 +974,10 @@ static bool fixup_mtd_partitions(void *blob, int offset, struct mtd_info *mtd)
 	int parts;
 
 	parts = fdt_subnode_offset(blob, offset, "partitions");
-	if (parts < 0)
-		return false;
-
-	if (fdt_del_node(blob, parts) < 0)
-		return false;
+	if (parts >= 0) {
+		if (fdt_del_node(blob, parts) < 0)
+			return false;
+	}
 
 	parts = fdt_add_subnode(blob, offset, "partitions");
 	if (parts < 0)
-- 
2.39.5