--- a/modutils/insmod.c +++ b/modutils/insmod.c @@ -140,7 +140,7 @@ int insmod_main(int argc, char **argv) M int insmod_main(int argc UNUSED_PARAM, char **argv) { char *filename; - int rc; + int rc, opt; /* Compat note: * 2.6 style insmod has no options and required filename @@ -150,10 +150,8 @@ int insmod_main(int argc UNUSED_PARAM, c * or in $MODPATH. */ - IF_FEATURE_2_4_MODULES( - getopt32(argv, INSMOD_OPTS INSMOD_ARGS); - argv += optind - 1; - ); + opt = getopt32(argv, INSMOD_OPTS, NULL, NULL); + argv += optind - 1; filename = *++argv; if (!filename) @@ -164,7 +162,7 @@ int insmod_main(int argc UNUSED_PARAM, c goto done; rc = bb_init_module(g_filename, parse_cmdline_module_options(argv)); - if (rc) + if (rc && !(opt & INSMOD_OPT_SILENT)) bb_error_msg("can't insert '%s': %s", filename, moderror(rc)); free (g_filename);