aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modutils/modprobe.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/modutils/modprobe.c b/modutils/modprobe.c
index d57dbdf75..54cd84c6a 100644
--- a/modutils/modprobe.c
+++ b/modutils/modprobe.c
@@ -114,7 +114,9 @@ static void add_probe(const char *name)
struct module_entry *m;
m = get_or_add_modentry(name);
- if (m->flags & MODULE_FLAG_LOADED) {
+ if (!(option_mask32 & MODPROBE_OPT_REMOVE)
+ && (m->flags & MODULE_FLAG_LOADED)
+ ) {
DBG("skipping %s, it is already loaded", name);
return;
}
@@ -350,7 +352,7 @@ int modprobe_main(int argc UNUSED_PARAM, char **argv)
config_close(parser);
}
- if (opt & MODPROBE_OPT_INSERT_ALL) {
+ if (opt & (MODPROBE_OPT_INSERT_ALL | MODPROBE_OPT_REMOVE)) {
/* Each argument is a module name */
do {
DBG("adding module %s", *argv);