summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2014-10-01 19:57:22 -0600
committerSimon Glass <sjg@chromium.org>2014-10-22 10:36:54 -0600
commitaacc6c5d106f33bec2b2371411922ff7d424beed (patch)
treedc2de5c1b00ce070e74dcee15278d880731d394c /lib
parent10778398b3a0a05a4d00ee4a5b1d6a6f215eb37b (diff)
downloadu-boot-aacc6c5d106f33bec2b2371411922ff7d424beed.tar.gz
u-boot-aacc6c5d106f33bec2b2371411922ff7d424beed.tar.xz
u-boot-aacc6c5d106f33bec2b2371411922ff7d424beed.zip
initcall: Display error number when an error occurs
Now that some initcall functions return a useful error number, display it when something goes wrong. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Igor Grinberg <grinberg@compulab.co.il>
Diffstat (limited to 'lib')
-rw-r--r--lib/initcall.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/initcall.c b/lib/initcall.c
index 7597bad555..39f4b3f8ad 100644
--- a/lib/initcall.c
+++ b/lib/initcall.c
@@ -15,14 +15,16 @@ int initcall_run_list(const init_fnc_t init_sequence[])
for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
unsigned long reloc_ofs = 0;
+ int ret;
if (gd->flags & GD_FLG_RELOC)
reloc_ofs = gd->reloc_off;
debug("initcall: %p\n", (char *)*init_fnc_ptr - reloc_ofs);
- if ((*init_fnc_ptr)()) {
- printf("initcall sequence %p failed at call %p\n",
+ ret = (*init_fnc_ptr)();
+ if (ret) {
+ printf("initcall sequence %p failed at call %p (err=%d)\n",
init_sequence,
- (char *)*init_fnc_ptr - reloc_ofs);
+ (char *)*init_fnc_ptr - reloc_ofs, ret);
return -1;
}
}