]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
install: also install post weak dependencies of kernel modules
authorLukas Nykryn <lnykryn@redhat.com>
Thu, 2 Jul 2020 07:08:03 +0000 (09:08 +0200)
committerHarald Hoyer <harald@hoyer.xyz>
Thu, 2 Jul 2020 14:06:44 +0000 (16:06 +0200)
install/dracut-install.c

index 3d64ed7a0872c10f619d3de470a91679e7c8c8d5..9fbd72cd6518ba1d5ff7c4d2a4aeb60a5756adaa 100644 (file)
@@ -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;