summaryrefslogtreecommitdiffstats
path: root/loader2
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2003-07-18 20:03:29 +0000
committerJeremy Katz <katzj@redhat.com>2003-07-18 20:03:29 +0000
commit8d9597a7d291f75ae2073f099b958ef30506f2fb (patch)
treede9b87e9c5f4ff14bca6b800efaf7753f1aaafa7 /loader2
parent9736dcc559305c1e676f707a3fb35f8b66bf2165 (diff)
downloadanaconda-8d9597a7d291f75ae2073f099b958ef30506f2fb.tar.gz
anaconda-8d9597a7d291f75ae2073f099b958ef30506f2fb.tar.xz
anaconda-8d9597a7d291f75ae2073f099b958ef30506f2fb.zip
handle going back with only one source for a driver disk (#99410)
Diffstat (limited to 'loader2')
-rw-r--r--loader2/driverdisk.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/loader2/driverdisk.c b/loader2/driverdisk.c
index 5589b6ca3..01eb920db 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);