From 8d9597a7d291f75ae2073f099b958ef30506f2fb Mon Sep 17 00:00:00 2001 From: Jeremy Katz Date: Fri, 18 Jul 2003 20:03:29 +0000 Subject: handle going back with only one source for a driver disk (#99410) --- loader2/driverdisk.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'loader2') 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); -- cgit