diff options
-rw-r--r-- | modutils/modprobe.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/modutils/modprobe.c b/modutils/modprobe.c index 3474964..52f5e10 100644 --- a/modutils/modprobe.c +++ b/modutils/modprobe.c @@ -13,7 +13,7 @@ #include <sys/utsname.h> #include <fnmatch.h> -//#define DBG(...) bb_error_msg(__VA_ARGS__) +//#define DBG(fmt, ...) bb_error_msg("%s: " fmt, __func__, ## __VA_ARGS__) #define DBG(...) ((void)0) #define MODULE_FLAG_LOADED 0x0001 @@ -114,6 +114,7 @@ static void add_probe(const char *name) return; } + DBG("queuing %s", name); m->probed_name = name; m->flags |= MODULE_FLAG_NEED_DEPS; llist_add_to_end(&G.probes, m); @@ -206,6 +207,7 @@ static int do_modprobe(struct module_entry *m) struct module_entry *m2; char *fn, *options; int rc = -1; + llist_t *l; if (!(m->flags & MODULE_FLAG_FOUND_IN_MODDEP)) { DBG("skipping %s, not found in modules.dep", m->modname); @@ -216,6 +218,9 @@ static int do_modprobe(struct module_entry *m) if (!(option_mask32 & MODPROBE_OPT_REMOVE)) m->deps = llist_rev(m->deps); + for (l = m->deps; l != NULL; l = l->link) + DBG("dep: %s", l->data); + rc = 0; while (m->deps && rc == 0) { fn = llist_pop(&m->deps); @@ -292,7 +297,8 @@ static void load_modules_dep(void) llist_add_to(&m->deps, xstrdup(tokens[0])); if (tokens[1]) string_to_llist(tokens[1], &m->deps, " "); - } + } else + DBG("skipping dep line"); } config_close(p); } @@ -342,10 +348,12 @@ int modprobe_main(int argc UNUSED_PARAM, char **argv) if (opt & MODPROBE_OPT_INSERT_ALL) { /* Each argument is a module name */ do { + DBG("adding module %s", *argv); add_probe(*argv++); } while (*argv); } else { /* First argument is module name, rest are parameters */ + DBG("probing just module %s", *argv); add_probe(argv[0]); G.cmdline_mopts = parse_cmdline_module_options(argv); } |