From fc56c220e2f73ad852c2507d4aee26e37b8b2ed1 Mon Sep 17 00:00:00 2001 From: Arnaud Patard Date: Fri, 18 Mar 2011 21:21:26 +0000 Subject: - try to handle the built-in module case before trying to load a module. --- mdk-stage1/modules.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'mdk-stage1/modules.c') diff --git a/mdk-stage1/modules.c b/mdk-stage1/modules.c index 5f02d2a6d..9cbb43598 100644 --- a/mdk-stage1/modules.c +++ b/mdk-stage1/modules.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include "log.h" #include "utils.h" @@ -287,6 +288,8 @@ static void add_modules_conf(char * str) int module_already_present(const char * name) { FILE * f; + struct stat sb; + char *path; int answ = 0; if ((f = fopen("/proc/modules", "rb"))) { @@ -298,6 +301,14 @@ int module_already_present(const char * name) } fclose(f); } + + /* built-in module case. try to find them through sysfs */ + if (!answ) { + asprintf(&path, "/sys/module/%s", name); + if (!stat(path, &sb)) + answ = 1; + free(path); + } return answ; } -- cgit v1.2.1