summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2003-07-18 20:01:58 +0000
committerJeremy Katz <katzj@redhat.com>2003-07-18 20:01:58 +0000
commitade13cdeff71a806859024fb52c6ecb171199aa7 (patch)
tree8ac591f9d31a3fade6ba2beaf1b70a1cdb384ba2
parenteb855ebf0c29c4975ccda08cc791711b522aee73 (diff)
downloadanaconda-ade13cdeff71a806859024fb52c6ecb171199aa7.tar.gz
anaconda-ade13cdeff71a806859024fb52c6ecb171199aa7.tar.xz
anaconda-ade13cdeff71a806859024fb52c6ecb171199aa7.zip
handle going back with only one source for a driver disk (#99410)
-rw-r--r--loader2/driverdisk.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/loader2/driverdisk.c b/loader2/driverdisk.c
index 67a268471..fc5d658c6 100644
--- a/loader2/driverdisk.c
+++ b/loader2/driverdisk.c
@@ -214,6 +214,7 @@ int loadDriverFromMedia(int class, moduleList modLoaded,
enum { DEV_DEVICE, DEV_INSERT, DEV_LOAD, DEV_PROBE,
DEV_DONE } stage = DEV_DEVICE;
int rc, i, num = 0;
+ int dir = 1;
while (stage != DEV_DONE) {
switch(stage) {
@@ -226,9 +227,13 @@ int loadDriverFromMedia(int class, moduleList modLoaded,
if (rc == 1) {
device = strdup(devNames[0]);
free(devNames);
+ if (dir == -1)
+ return LOADER_BACK;
+
stage = DEV_INSERT;
break;
}
+ dir = 1;
startNewt(flags);
rc = newtWinMenu(_("Driver Disk Source"),
@@ -256,8 +261,10 @@ int loadDriverFromMedia(int class, moduleList modLoaded,
buf);
if (rc == 2) {
stage = DEV_DEVICE;
+ dir = -1;
break;
}
+ dir = 1;
devMakeInode(device, "/tmp/dddev");
logMessage("trying to mount %s", device);