summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPankaj Bansal <pankaj.bansal@nxp.com>2020-01-15 08:57:00 +0300
committerPriyanka Jain <priyanka.jain@nxp.com>2020-01-24 11:58:26 +0300
commit71c8fb3e3a3e79c98d305b49ea46ae92332c3f20 (patch)
tree16d7b2d5700061a22af0863df59661b0e595ebbe
parent0d9d557de58c3e61f01e053d320ff2e8719336dc (diff)
downloadu-boot-71c8fb3e3a3e79c98d305b49ea46ae92332c3f20.tar.xz
board: fsl: lx2160a: Fix the loop in board_fix_fdt function
Fix loop in board_fix_fdt that erroneously increments the counter in all cases whereas the counter should be incremented only if a matching string has been found. Fixes: 5d535aa40b ("board: fsl: lx2160a: implement board_fix_fdt") Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com> Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
-rw-r--r--board/freescale/lx2160a/lx2160a.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/board/freescale/lx2160a/lx2160a.c b/board/freescale/lx2160a/lx2160a.c
index 0b0d6bf91a..6555b5ad3a 100644
--- a/board/freescale/lx2160a/lx2160a.c
+++ b/board/freescale/lx2160a/lx2160a.c
@@ -132,7 +132,7 @@ int board_fix_fdt(void *fdt)
{ "ccsr", "dbi" },
{ "pf_ctrl", "ctrl" }
};
- int off = -1, i;
+ int off = -1, i = 0;
if (IS_SVR_REV(get_svr(), 1, 0))
return 0;
@@ -149,7 +149,7 @@ int board_fix_fdt(void *fdt)
reg_name = reg_names;
remaining_names_len = names_len - (reg_name - reg_names);
- for (i = 0; (i < ARRAY_SIZE(reg_names_map)) && names_len; i++) {
+ while ((i < ARRAY_SIZE(reg_names_map)) && remaining_names_len) {
old_name_len = strlen(reg_names_map[i].old_str);
new_name_len = strlen(reg_names_map[i].new_str);
if (memcmp(reg_name, reg_names_map[i].old_str,
@@ -165,6 +165,7 @@ int board_fix_fdt(void *fdt)
new_name_len);
names_len -= old_name_len;
names_len += new_name_len;
+ i++;
}
reg_name = memchr(reg_name, '\0', remaining_names_len);