summaryrefslogtreecommitdiffstats
path: root/loader2
diff options
context:
space:
mode:
authorPeter Jones <pjones@redhat.com>2007-06-22 17:55:57 +0000
committerPeter Jones <pjones@redhat.com>2007-06-22 17:55:57 +0000
commit8d6b5d9c345abae5815f170fbe6457a3b4ef7b0d (patch)
treed6a3addaaffc90bb45c0417846a8bb7c081db8f6 /loader2
parentbf8baa84aeed7a40e02d0e25ed57948a16a1345e (diff)
downloadanaconda-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.c31
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) {