In run_init_funcs, keep going even if one of the functions reports an error.

BUG=None
TEST=Built for Fox, Link, and Daisy, booted on Daisy.
BRANCH=None

Change-Id: Ie6968b9bcc0506b5a698c6196bdeef84e65a29cd
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/48841
Reviewed-by: David Hendricks <dhendrix@chromium.org>
Commit-Queue: Gabe Black <gabeblack@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
diff --git a/src/base/init_funcs.c b/src/base/init_funcs.c
index 744aaed..260673c 100644
--- a/src/base/init_funcs.c
+++ b/src/base/init_funcs.c
@@ -27,10 +27,10 @@
 {
 	init_func_t *start = (init_func_t *)&_init_funcs_start;
 	init_func_t *end = (init_func_t *)&_init_funcs_end;
+	int res = 0;
 
 	for (init_func_t *init_func = start; init_func != end; init_func++)
-		if ((*init_func)())
-			return 1;
+		res = (*init_func)() || res;
 
-	return 0;
+	return res;
 }