From: Lukas Nykryn Date: Thu, 2 Jul 2020 07:08:03 +0000 (+0200) Subject: install: also install post weak dependencies of kernel modules X-Git-Tag: 051~151 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6dafdda4a6bdb8721133e4267553c5d86564f9e8;p=thirdparty%2Fdracut.git install: also install post weak dependencies of kernel modules --- diff --git a/install/dracut-install.c b/install/dracut-install.c index 3d64ed7a0..9fbd72cd6 100644 --- a/install/dracut-install.c +++ b/install/dracut-install.c @@ -1482,9 +1482,13 @@ static int install_dependent_modules(struct kmod_list *modlist) ret = install_dependent_modules(modlist); if (ret == 0) { ret = kmod_module_get_softdeps(mod, &modpre, &modpost); - if (ret == 0) - ret = install_dependent_modules(modpre); - } + if (ret == 0) { + int r; + ret = install_dependent_modules(modpre); + r = install_dependent_modules(modpost); + ret = ret ? : r; + } + } } else { log_error("dracut_install '%s' '%s' ERROR", path, &path[kerneldirlen]); } @@ -1545,8 +1549,12 @@ static int install_module(struct kmod_module *mod) if (ret == 0) { ret = kmod_module_get_softdeps(mod, &modpre, &modpost); - if (ret == 0) - ret = install_dependent_modules(modpre); + if (ret == 0) { + int r; + ret = install_dependent_modules(modpre); + r = install_dependent_modules(modpost); + ret = ret ? : r; + } } return ret;