modprobe: add more useful debug points
No binary (build failed)
—
(log yok)
| @@ -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); | |
| } | |