Code rewrites the last char of size with adding &. It is visible from
dfu_alt_info print before this patch:
Make dfu_alt_info: 'mtd nor0=bank0 raw
2320000 80000;bank1 raw
27a0000
8000&mtd nor0=bank0 raw
23a0000 4000000;bank1 raw
2820000 4000000'
And after it:
Make dfu_alt_info: 'mtd nor0=bank0 raw
2320000 80000;bank1 raw
27a0000
80000&mtd nor0=bank0 raw
23a0000 4000000;bank1 raw
2820000 4000000'
Size for bank0 and bank1 must be the same because it is the same image.
Signed-off-by: Michal Simek <michal.simek@amd.com>
Acked-by: Jassi Brar <jaswinder.singh@linaro.org>
l = strlen(buf);
/* Replace the last ';' with '&' if there is another image. */
- if (i != CONFIG_FWU_NUM_IMAGES_PER_BANK - 1 && l)
- buf[l - 1] = '&';
+ if (i != CONFIG_FWU_NUM_IMAGES_PER_BANK - 1 && l) {
+ buf[l] = '&';
+ buf++;
+ }
len -= l;
buf += l;
}