diff options
author | Jeremy Katz <katzj@redhat.com> | 2003-02-18 21:39:41 +0000 |
---|---|---|
committer | Jeremy Katz <katzj@redhat.com> | 2003-02-18 21:39:41 +0000 |
commit | c5269e873bdeb6f49cff67afc0d3922ebbabe1bc (patch) | |
tree | 57faa6375ff20be744d96d8329fe4ccf66fb4216 /loader2 | |
parent | 517e093728d4d0135540e73fa3fe1ea89cf0cd95 (diff) | |
download | anaconda-c5269e873bdeb6f49cff67afc0d3922ebbabe1bc.tar.gz anaconda-c5269e873bdeb6f49cff67afc0d3922ebbabe1bc.tar.xz anaconda-c5269e873bdeb6f49cff67afc0d3922ebbabe1bc.zip |
add a way to skip the probe if we're going into loadDriverFromMedia from
chooseManualDevice. fixes #83422
Diffstat (limited to 'loader2')
-rw-r--r-- | loader2/driverdisk.c | 14 | ||||
-rw-r--r-- | loader2/driverdisk.h | 3 | ||||
-rw-r--r-- | loader2/driverselect.c | 4 | ||||
-rw-r--r-- | loader2/hdinstall.c | 4 | ||||
-rw-r--r-- | loader2/loader.c | 4 |
5 files changed, 19 insertions, 10 deletions
diff --git a/loader2/driverdisk.c b/loader2/driverdisk.c index 3a0ca7b02..cc64a85a8 100644 --- a/loader2/driverdisk.c +++ b/loader2/driverdisk.c @@ -178,7 +178,8 @@ int getRemovableDevices(char *** devNames) { */ int loadDriverFromMedia(int class, moduleList modLoaded, moduleDeps * modDepsPtr, moduleInfoSet modInfo, - struct knownDevices * kd, int flags, int usecancel) { + struct knownDevices * kd, int flags, + int usecancel, int noprobe) { char * device = NULL; char ** devNames = NULL; @@ -271,6 +272,13 @@ int loadDriverFromMedia(int class, moduleList modLoaded, stage = DEV_PROBE; case DEV_PROBE: + /* if they didn't specify that we should probe, then we should + * just fall out */ + if (noprobe) { + stage = DEV_DONE; + break; + } + busProbe(modInfo, modLoaded, *modDepsPtr, 0, kd, flags); if (class != CLASS_UNSPEC) { @@ -343,7 +351,7 @@ int loadDriverDisks(int class, moduleList modLoaded, return LOADER_OK; rc = loadDriverFromMedia(CLASS_UNSPEC, modLoaded, modDepsPtr, modInfo, - kd, flags, 1); + kd, flags, 1, 0); if (rc == LOADER_BACK) return LOADER_OK; @@ -353,7 +361,7 @@ int loadDriverDisks(int class, moduleList modLoaded, if (rc != 1) break; loadDriverFromMedia(CLASS_UNSPEC, modLoaded, modDepsPtr, modInfo, - kd, flags, 0); + kd, flags, 0, 0); } while (1); return LOADER_OK; diff --git a/loader2/driverdisk.h b/loader2/driverdisk.h index 65f14aeef..1e81d9d9e 100644 --- a/loader2/driverdisk.h +++ b/loader2/driverdisk.h @@ -8,7 +8,8 @@ int loadDriverFromMedia(int class, moduleList modLoaded, moduleDeps * modDepsPtr, moduleInfoSet modInfo, - struct knownDevices * kd, int flags, int usecancel); + struct knownDevices * kd, int flags, + int usecancel, int noprobe); int loadDriverDisks(int class, moduleList modLoaded, moduleDeps * modDepsPtr, moduleInfoSet modInfo, diff --git a/loader2/driverselect.c b/loader2/driverselect.c index 3586fbae4..e6c704fc4 100644 --- a/loader2/driverselect.c +++ b/loader2/driverselect.c @@ -191,7 +191,7 @@ int chooseManualDriver(int class, moduleList modLoaded, return LOADER_BACK; loadDriverFromMedia(class, modLoaded, modDepsPtr, modInfo, kd, - flags, 1); + flags, 1, 1); continue; } else { break; @@ -266,7 +266,7 @@ int chooseManualDriver(int class, moduleList modLoaded, return LOADER_BACK; if (done == -2) { loadDriverFromMedia(class, modLoaded, modDepsPtr, modInfo, kd, - flags, 1); + flags, 1, 1); return chooseManualDriver(class, modLoaded, modDepsPtr, modInfo, kd, flags); } diff --git a/loader2/hdinstall.c b/loader2/hdinstall.c index ffde08708..f256c42d3 100644 --- a/loader2/hdinstall.c +++ b/loader2/hdinstall.c @@ -373,7 +373,7 @@ char * mountHardDrive(struct installMethod * method, return NULL; rc = loadDriverFromMedia(CLASS_HD, modLoaded, modDepsPtr, - modInfo, kd, flags, 0); + modInfo, kd, flags, 0, 0); if (rc == LOADER_BACK) return NULL; @@ -459,7 +459,7 @@ char * mountHardDrive(struct installMethod * method, return NULL; } else if (es.reason == NEWT_EXIT_HOTKEY && es.u.key == NEWT_KEY_F2) { rc = loadDriverFromMedia(CLASS_HD, modLoaded, modDepsPtr, - modInfo, kd, flags, 0); + modInfo, kd, flags, 0, 0); if (rc == LOADER_BACK) return NULL; diff --git a/loader2/loader.c b/loader2/loader.c index c9c0069c0..3f4a55eb1 100644 --- a/loader2/loader.c +++ b/loader2/loader.c @@ -726,7 +726,7 @@ static char *doLoaderMain(char * location, dir = -1; break; } - + chooseManualDriver(installMethods[validMethods[methodNum]].deviceType, modLoaded, modDepsPtr, modInfo, kd, flags); /* it doesn't really matter what we return here; we just want @@ -739,7 +739,7 @@ static char *doLoaderMain(char * location, rc = loadDriverFromMedia(installMethods[validMethods[methodNum]].deviceType, modLoaded, modDepsPtr, modInfo, kd, - flags, 0); + flags, 0, 0); if (rc == LOADER_BACK) { step = STEP_DRIVER; dir = -1; |