diff options
-rw-r--r-- | mdk-stage1/modules.c | 4 | ||||
-rw-r--r-- | mdk-stage1/probing.c | 15 | ||||
-rw-r--r-- | mdk-stage1/stdio-frontend.c | 2 |
3 files changed, 11 insertions, 10 deletions
diff --git a/mdk-stage1/modules.c b/mdk-stage1/modules.c index 2788315f8..f3d43bd32 100644 --- a/mdk-stage1/modules.c +++ b/mdk-stage1/modules.c @@ -53,7 +53,7 @@ static int insmod_archived_file(const char * mod_name, char * options) i = mar_extract_file(archive_name, module_name, "/tmp/"); if (i == 1) { log_message("file-not-found-in-archive %s", module_name); - return -1; + return -2; } if (i != 0) return -1; @@ -294,7 +294,7 @@ int my_insmod(const char * mod_name, enum driver_type type, char * options) } #endif } else - log_message("warning, insmod failed (%s %s)", mod_name, options); + log_message("warning, insmod failed (%s %s) (%d)", mod_name, options, i); return i; diff --git a/mdk-stage1/probing.c b/mdk-stage1/probing.c index 93c1614ba..d0ea315a1 100644 --- a/mdk-stage1/probing.c +++ b/mdk-stage1/probing.c @@ -61,7 +61,7 @@ struct media_info { static void warning_insmod_failed(void) { - error_message("Warning, installation of driver failed."); + error_message("Warning, installation of driver failed. (please include msg from <Alt-F3> for bugreports)"); } #ifndef DISABLE_NETWORK @@ -149,7 +149,7 @@ static void probe_that_type(enum driver_type type) while (1) { int i, garb, vendor, device; - + if (!fgets(buf, sizeof(buf), f)) break; sscanf(buf, "%x %x", &garb, &vendor); @@ -158,15 +158,15 @@ static void probe_that_type(enum driver_type type) for (i = 0; i < len; i++) { if (pcidb[i].vendor == vendor && pcidb[i].device == device) { - log_message("PCI: found suggestion for %s (%s)", pcidb[i].name, pcidb[i].module); + log_message("PCI: device %x %x is \"%s\" (%s)", vendor, device, pcidb[i].name, pcidb[i].module); #ifndef DISABLE_MEDIAS if (type == SCSI_ADAPTERS) { /* insmod takes time, let's use the wait message */ wait_message("Installing %s", pcidb[i].name); garb = my_insmod(pcidb[i].module, SCSI_ADAPTERS, NULL); remove_wait_message(); - if (garb) - warning_insmod_failed(); + if (garb && !(IS_AUTOMATIC && garb == -2)) + warning_insmod_failed(); } #endif #ifndef DISABLE_NETWORK @@ -174,8 +174,9 @@ static void probe_that_type(enum driver_type type) /* insmod is quick, let's use the info message */ info_message("Found %s", pcidb[i].name); prepare_intf_descr(pcidb[i].name); - if (my_insmod(pcidb[i].module, NETWORK_DEVICES, NULL)) - warning_insmod_failed(); + garb = my_insmod(pcidb[i].module, NETWORK_DEVICES, NULL); + if (garb && !(IS_AUTOMATIC && garb == -2)) + warning_insmod_failed(); if (intf_descr_for_discover) /* for modules providing more than one net intf */ net_discovered_interface(NULL); } diff --git a/mdk-stage1/stdio-frontend.c b/mdk-stage1/stdio-frontend.c index 6d6794d06..a8622bf1c 100644 --- a/mdk-stage1/stdio-frontend.c +++ b/mdk-stage1/stdio-frontend.c @@ -46,7 +46,7 @@ void finish_frontend(void) static void get_any_response(void) { unsigned char t; - printf(" (press <enter> to proceed)"); + printf("\n\t(press <enter> to proceed)"); fflush(stdout); read(0, &t, 1); fcntl(0, F_SETFL, O_NONBLOCK); |