[PATCH] cmd: ubi.c: skip part command if right partition is already attached

Alexandre Besnard alexandre.besnard at softathome.com
Mon Apr 4 17:50:14 CEST 2022


Attaching a UBI partition may take a while, since scanning the memory is
required.
It thus makes sense to avoid a detach/scan/attach cycle when the right
partition is already attached, and let the calling process call 'detach'
beforehand if it needs it.

This commit checks for the currently attached UBI partition, and skips
reattaching if not needed, showing an information.

Signed-off-by: Alexandre Besnard <alexandre.besnard at softathome.com>
---
 cmd/ubi.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/cmd/ubi.c b/cmd/ubi.c
index fe8ac58bac..fccbfdf48d 100644
--- a/cmd/ubi.c
+++ b/cmd/ubi.c
@@ -511,6 +511,11 @@ int ubi_part(char *part_name, const char *vid_header_offset)
 	struct mtd_info *mtd;
 	int err = 0;
 
+	if (ubi && ubi->mtd && !strcmp(ubi->mtd->name, part_name)) {
+		printf("UBI partition '%s' already selected\n", part_name);
+		return 0;
+	}
+
 	ubi_detach();
 
 	mtd_probe_devices();
-- 
2.35.1



More information about the U-Boot mailing list