summaryrefslogtreecommitdiffstats
path: root/mdk-stage1
diff options
context:
space:
mode:
authorOlivier Blin <oblin@mandriva.com>2008-06-12 14:09:47 +0000
committerOlivier Blin <oblin@mandriva.com>2008-06-12 14:09:47 +0000
commitbbe73bf97ae0d959715a06f283159bcc9c6dc6cf (patch)
tree98ae017eca037dfcc4c18019bad8853ea46938f8 /mdk-stage1
parent857ad47d7c4f9386e455e4eaefbaeff07a5b0f16 (diff)
downloaddrakx-backup-do-not-use-bbe73bf97ae0d959715a06f283159bcc9c6dc6cf.tar
drakx-backup-do-not-use-bbe73bf97ae0d959715a06f283159bcc9c6dc6cf.tar.gz
drakx-backup-do-not-use-bbe73bf97ae0d959715a06f283159bcc9c6dc6cf.tar.bz2
drakx-backup-do-not-use-bbe73bf97ae0d959715a06f283159bcc9c6dc6cf.tar.xz
drakx-backup-do-not-use-bbe73bf97ae0d959715a06f283159bcc9c6dc6cf.zip
add back "ide-generic" support (incorrectly removed in 1.17), the
module that we want to avoid is "ide-pci-generic" (previously "generic"), and this is handled by ldetect-lst preferred modules list
Diffstat (limited to 'mdk-stage1')
-rw-r--r--mdk-stage1/NEWS4
-rw-r--r--mdk-stage1/cdrom.c6
-rw-r--r--mdk-stage1/disk.c6
3 files changed, 16 insertions, 0 deletions
diff --git a/mdk-stage1/NEWS b/mdk-stage1/NEWS
index 7b56fe303..d3009fb78 100644
--- a/mdk-stage1/NEWS
+++ b/mdk-stage1/NEWS
@@ -1,3 +1,7 @@
+- add back ide-generic support (incorrectly removed in 1.17)
+ the module that we don't want is "ide-pci-generic" (previously "generic"),
+ and this is handled by ldetect-lst preferred modules list
+
1.29:
- allow to pass module options to probe-modules
- build fixes for gcc 4.3
diff --git a/mdk-stage1/cdrom.c b/mdk-stage1/cdrom.c
index 922345f70..8b3cb670e 100644
--- a/mdk-stage1/cdrom.c
+++ b/mdk-stage1/cdrom.c
@@ -136,6 +136,7 @@ enum return_type cdrom_prepare(void)
char * choice;
int i, count = 0;
enum return_type results;
+ static int already_probed_ide_generic = 0;
my_insmod("ide_cd", ANY_DRIVER_TYPE, NULL, 0);
@@ -170,6 +171,11 @@ enum return_type cdrom_prepare(void)
}
if (count == 0) {
+ if (!already_probed_ide_generic) {
+ already_probed_ide_generic = 1;
+ my_insmod("ide_generic", ANY_DRIVER_TYPE, NULL, 0);
+ return cdrom_prepare();
+ }
stg1_error_message("No CDROM device found.");
i = ask_insmod(MEDIA_ADAPTERS);
if (i == RETURN_BACK)
diff --git a/mdk-stage1/disk.c b/mdk-stage1/disk.c
index 421cb5a67..b682872e1 100644
--- a/mdk-stage1/disk.c
+++ b/mdk-stage1/disk.c
@@ -118,10 +118,16 @@ enum return_type disk_prepare(void)
char * choice;
int i;
enum return_type results;
+ static int already_probed_ide_generic = 0;
int count = get_disks(&medias, &medias_models);
if (count == 0) {
+ if (!already_probed_ide_generic) {
+ already_probed_ide_generic = 1;
+ my_insmod("ide_generic", ANY_DRIVER_TYPE, NULL, 0);
+ return disk_prepare();
+ }
stg1_error_message("No DISK drive found.");
i = ask_insmod(MEDIA_ADAPTERS);
if (i == RETURN_BACK)