diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2005-08-30 09:25:24 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2005-08-30 09:25:24 +0000 |
commit | 01da8ef85f8ac07fe5f320ce6739c990986fd7a4 (patch) | |
tree | 4d7a40b15adc55ac01b602bc2a1b1094c223c63b /perl-install | |
parent | c3f8a4e1b6f0fd77140ef7d5d0ed99509fdd25ca (diff) | |
download | drakx-01da8ef85f8ac07fe5f320ce6739c990986fd7a4.tar drakx-01da8ef85f8ac07fe5f320ce6739c990986fd7a4.tar.gz drakx-01da8ef85f8ac07fe5f320ce6739c990986fd7a4.tar.bz2 drakx-01da8ef85f8ac07fe5f320ce6739c990986fd7a4.tar.xz drakx-01da8ef85f8ac07fe5f320ce6739c990986fd7a4.zip |
ahci says "ahci: probe of %s failed with error %d", but succeeds anyway, so we need to handle the ahci/ata_piix case otherwise
Diffstat (limited to 'perl-install')
-rw-r--r-- | perl-install/modules.pm | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/perl-install/modules.pm b/perl-install/modules.pm index d176eed89..56ab526a3 100644 --- a/perl-install/modules.pm +++ b/perl-install/modules.pm @@ -132,22 +132,19 @@ sub load_category { if_($category =~ /net/, 'bmac', 'gmac', 'mace', 'airport'), ) : (), ); - my @l = (probe_category($category), - map { { driver => $_, description => $_, try => 1 } } @try_modules); + my @l = ( + (map { + my $other = { ahci => 'ata_piix', ata_piix => 'ahci' }->{$_->{driver}}; + ($_, if_($other, { %$_, driver => $other })); + } probe_category($category)), + (map { { driver => $_, description => $_, try => 1 } } @try_modules), + ); foreach (@l) { $o_wait_message->($_->{description}, $_->{driver}) if $o_wait_message; eval { load_and_configure($conf, $_->{driver}, $_->{options}) }; $_->{error} = $@; - if ($_->{error} && member($_->{driver}, 'ahci', 'ata_piix')) { - #- HACK: ahci and ata_piix handle the same hardware, it only depends on the bios configuration - my $other = $_->{driver} eq 'ahci' ? 'ata_piix' : 'ahci'; - log::l("failure loading $_->{driver}, trying $other instead (error is: $_->{error})"); - $_->{driver} = $other; - redo; - } - $_->{try} = 1 if member($_->{driver}, 'hptraid', 'ohci1394'); #- do not warn when this fails } grep { !($_->{error} && $_->{try}) } @l; |