]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
board: st: common: Fix board_get_alt_info_mtd()
authorPatrice Chotard <patrice.chotard@foss.st.com>
Fri, 17 Nov 2023 17:01:06 +0000 (18:01 +0100)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Fri, 15 Dec 2023 14:41:23 +0000 (15:41 +0100)
Since MTD devices are partioned, we got the following
error when command "dfu 0" is executed:

DFU alt info setting: done
ERROR: Too many arguments for nor0
ERROR: DFU entities configuration failed!
ERROR: (partition table does not match dfu_alt_info?)

Fixes: 31325e1b8b9c ("stm32mp1: dynamically build DFU_ALT_INFO")
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
board/st/common/stm32mp_dfu.c

index a8eb8d5cae2fd25ea2f33ef246aa9300c7de4348..ded3bf81961af136dc93e8eb9c3dfbf844f75573 100644 (file)
@@ -73,7 +73,6 @@ static void board_get_alt_info_mmc(struct udevice *dev, char *buf)
 static void board_get_alt_info_mtd(struct mtd_info *mtd, char *buf)
 {
        struct mtd_info *part;
-       bool first = true;
        const char *name;
        int len, partnum = 0;
 
@@ -86,17 +85,13 @@ static void board_get_alt_info_mtd(struct mtd_info *mtd, char *buf)
                        "mtd %s=", name);
 
        len += snprintf(buf + len, DFU_ALT_BUF_LEN - len,
-                       "%s raw 0x0 0x%llx ",
+                       "%s raw 0x0 0x%llx",
                        name, mtd->size);
 
        list_for_each_entry(part, &mtd->partitions, node) {
                partnum++;
-               if (!first)
-                       len += snprintf(buf + len, DFU_ALT_BUF_LEN - len, ";");
-               first = false;
-
                len += snprintf(buf + len, DFU_ALT_BUF_LEN - len,
-                               "%s_%s part %d",
+                               ";%s_%s part %d",
                                name, part->name, partnum);
        }
 }