board: st: common: Fix board_get_alt_info_mtd()
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: 31325e1b8b ("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>
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user