summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPawel Jakub Dawidek <pjd@FreeBSD.org>2005-05-28 23:20:05 +0000
committerPawel Jakub Dawidek <pjd@FreeBSD.org>2005-05-28 23:20:05 +0000
commit885fec3e0897aab84a66b2888a90632a43750fb7 (patch)
treec0f6d654bb754035290b22118a7fd29d6f2ffaff
parent0a4c2543896fa8650368195bf75357c67dfa6bdb (diff)
Notes
-rw-r--r--sys/kern/kern_linker.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c
index 32cb32ac5b52..ac33ef017f52 100644
--- a/sys/kern/kern_linker.c
+++ b/sys/kern/kern_linker.c
@@ -275,7 +275,7 @@ linker_file_register_modules(linker_file_t lf)
{
struct mod_metadata **start, **stop, **mdp;
const moduledata_t *moddata;
- int error;
+ int first_error, error;
KLD_DPF(FILE, ("linker_file_register_modules: registering modules"
" in %s\n", lf->filename));
@@ -293,6 +293,7 @@ linker_file_register_modules(linker_file_t lf)
} else
return (0);
}
+ first_error = 0;
for (mdp = start; mdp < stop; mdp++) {
if ((*mdp)->md_type != MDT_MODULE)
continue;
@@ -303,10 +304,11 @@ linker_file_register_modules(linker_file_t lf)
if (error) {
printf("Module %s failed to register: %d\n",
moddata->name, error);
- return (error);
+ if (first_error == 0)
+ first_error = error;
}
}
- return (0);
+ return (first_error);
}
static void