summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/image-host.c36
1 files changed, 21 insertions, 15 deletions
diff --git a/tools/image-host.c b/tools/image-host.c
index ce829a8ec9..33a224129a 100644
--- a/tools/image-host.c
+++ b/tools/image-host.c
@@ -805,25 +805,31 @@ static int fit_config_get_hash_list(void *fit, int conf_noffset,
image_count = 0;
for (iname = prop; iname < end; iname += strlen(iname) + 1) {
int image_noffset;
+ int index, max_index;
- image_noffset = fit_conf_get_prop_node(fit, conf_noffset,
- iname);
- if (image_noffset < 0) {
- printf("Failed to find image '%s' in configuration '%s/%s'\n",
- iname, conf_name, sig_name);
- if (allow_missing)
- continue;
+ max_index = fdt_stringlist_count(fit, conf_noffset, iname);
- return -ENOENT;
- }
+ for (index = 0; index < max_index; index++) {
+ image_noffset = fit_conf_get_prop_node_index(fit, conf_noffset,
+ iname, index);
- ret = fit_config_add_hash(fit, conf_name,
- sig_name, node_inc,
- iname, image_noffset);
- if (ret < 0)
- return ret;
+ if (image_noffset < 0) {
+ printf("Failed to find image '%s' in configuration '%s/%s'\n",
+ iname, conf_name, sig_name);
+ if (allow_missing)
+ continue;
- image_count++;
+ return -ENOENT;
+ }
+
+ ret = fit_config_add_hash(fit, conf_name,
+ sig_name, node_inc,
+ iname, image_noffset);
+ if (ret < 0)
+ return ret;
+
+ image_count++;
+ }
}
if (!image_count) {