aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Besnard <alexandre.besnard@softathome.com>2022-04-04 17:50:14 +0200
committerTom Rini <trini@konsulko.com>2022-04-14 15:39:15 -0400
commitaf298f3dcdae31b49791ff7aa1a6d75a27e57f3a (patch)
treec914d2d611a32daea8075c4cdf9fef71f906186b
parent72675b063b6ede269a8edee29575ade02c21b58d (diff)
downloadu-boot-af298f3dcdae31b49791ff7aa1a6d75a27e57f3a.zip
u-boot-af298f3dcdae31b49791ff7aa1a6d75a27e57f3a.tar.gz
u-boot-af298f3dcdae31b49791ff7aa1a6d75a27e57f3a.tar.bz2
cmd: ubi.c: skip part command if right partition is already attached
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@softathome.com>
-rw-r--r--cmd/ubi.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/cmd/ubi.c b/cmd/ubi.c
index fe8ac58..fccbfdf 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();