diff options
author | Peter Jones <pjones@redhat.com> | 2007-06-22 17:55:57 +0000 |
---|---|---|
committer | Peter Jones <pjones@redhat.com> | 2007-06-22 17:55:57 +0000 |
commit | 8d6b5d9c345abae5815f170fbe6457a3b4ef7b0d (patch) | |
tree | d6a3addaaffc90bb45c0417846a8bb7c081db8f6 /loader2 | |
parent | bf8baa84aeed7a40e02d0e25ed57948a16a1345e (diff) | |
download | anaconda-8d6b5d9c345abae5815f170fbe6457a3b4ef7b0d.tar.gz anaconda-8d6b5d9c345abae5815f170fbe6457a3b4ef7b0d.tar.xz anaconda-8d6b5d9c345abae5815f170fbe6457a3b4ef7b0d.zip |
- Fix doLoadModules() to get the paths correct and find all the modules.
Diffstat (limited to 'loader2')
-rw-r--r-- | loader2/modules.c | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/loader2/modules.c b/loader2/modules.c index 6b1685bf5..b65421eda 100644 --- a/loader2/modules.c +++ b/loader2/modules.c @@ -443,8 +443,7 @@ static char ** lateModuleSort(char **allmods, int num) { * *ALL* modules? this would probably want for auto module-info generation */ static int doLoadModules(const char * origModNames, moduleList modLoaded, moduleDeps modDeps, moduleInfoSet modInfo, - const char * argModule, char ** args, - struct moduleBallLocation * modLocation) { + const char * argModule, char ** args) { char * modNames; char * start, * next, * end; char ** initialList; @@ -509,24 +508,22 @@ static int doLoadModules(const char * origModNames, moduleList modLoaded, if (modInfo) { for (i = 0; list[i]; i++) { mi = findModuleInfo(modInfo, list[i]); + if (mi) { + if (mi->locationID) + location = mi->locationID; + paths = extractModules(list, paths, location); + + if (mi->major == DRIVER_SCSI && + (mod = getLoadedModuleInfo(modLoaded, "usb-storage")) && + (mod->firstDevNum != mod->lastDevNum)) { + reloadUsbStorage = 1; + } - if (mi && mi->locationID) { - location = mi->locationID; - } - - if (mi && (mi->major == DRIVER_SCSI) && - (mod = getLoadedModuleInfo(modLoaded, "usb-storage")) && - (mod->firstDevNum != mod->lastDevNum)) { - reloadUsbStorage = 1; } } } - /* JKFIXME: this is a hack to handle an explicit location for modules */ - if (!location && modLocation) - location = modLocation; - - paths = extractModules(list, paths, location); + paths = extractModules(list, paths, NULL); i = 0; if (!paths) { @@ -615,7 +612,7 @@ int mlLoadModule(const char * module, moduleList modLoaded, moduleDeps modDeps, moduleInfoSet modInfo, char ** args) { return doLoadModules(module, modLoaded, modDeps, modInfo, module, - args, NULL); + args); } /* loads a : separated list of modules */ @@ -623,7 +620,7 @@ int mlLoadModuleSet(const char * modNames, moduleList modLoaded, moduleDeps modDeps, moduleInfoSet modInfo) { return doLoadModules(modNames, modLoaded, modDeps, modInfo, - NULL, NULL, NULL); + NULL, NULL); } static int removeHostAdapter(char *conf, char *name) { |