summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-03-05 12:25:19 -0700
committerSimon Glass <sjg@chromium.org>2015-04-16 19:27:42 -0600
commit106cce9604306743c86addd4d27426cce498c9d1 (patch)
treed59865db3298a477d4dab6175d5c8c5a215de46d /lib
parentcc5e196e0350055e3e438d5dc2341316027c8d93 (diff)
fdt: Tighten up error handling in fdtdec_get_pci_addr()
This function returns -ENOENT when the property is missing (which the caller might forgive) and also when the property is present but incorrectly formatted (which many callers would like to report). Update the error return value to allow these different situations to be distinguished. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/fdtdec.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index 915fe2444a..fa7da8963c 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -160,8 +160,10 @@ int fdtdec_get_pci_addr(const void *blob, int node, enum fdt_pci_space type,
}
}
- if (i == num)
+ if (i == num) {
+ ret = -ENXIO;
goto fail;
+ }
return 0;
} else {