diff options
author | Olivier Blin <oblin@mandriva.com> | 2008-06-12 14:09:47 +0000 |
---|---|---|
committer | Olivier Blin <oblin@mandriva.com> | 2008-06-12 14:09:47 +0000 |
commit | bbe73bf97ae0d959715a06f283159bcc9c6dc6cf (patch) | |
tree | 98ae017eca037dfcc4c18019bad8853ea46938f8 | |
parent | 857ad47d7c4f9386e455e4eaefbaeff07a5b0f16 (diff) | |
download | drakx-bbe73bf97ae0d959715a06f283159bcc9c6dc6cf.tar drakx-bbe73bf97ae0d959715a06f283159bcc9c6dc6cf.tar.gz drakx-bbe73bf97ae0d959715a06f283159bcc9c6dc6cf.tar.bz2 drakx-bbe73bf97ae0d959715a06f283159bcc9c6dc6cf.tar.xz drakx-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
-rw-r--r-- | mdk-stage1/NEWS | 4 | ||||
-rw-r--r-- | mdk-stage1/cdrom.c | 6 | ||||
-rw-r--r-- | mdk-stage1/disk.c | 6 |
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) |