diff options
-rw-r--r-- | perl-install/harddrake/sound.pm | 7 | ||||
-rwxr-xr-x | perl-install/standalone/draksound | 3 |
2 files changed, 7 insertions, 3 deletions
diff --git a/perl-install/harddrake/sound.pm b/perl-install/harddrake/sound.pm index 321d5e934..4ba774be5 100644 --- a/perl-install/harddrake/sound.pm +++ b/perl-install/harddrake/sound.pm @@ -157,8 +157,9 @@ sub do_switch { sub switch { my ($in, $device) = @_; - my $driver = $device->{driver}; - $driver = modules::get_alias($driver) if $driver =~ /sound-card/; # alsaconf ... + my $driver = $device->{current_driver}; + $driver = $device->{driver} unless $driver; + foreach (@blacklist) { $blacklisted = 1 if $driver eq $_ } my $alternative = get_alternative($driver); if ($alternative) { @@ -199,7 +200,9 @@ To use alsa, one can either use: $in->ask_warn(_("Warning"), _("The old \"%s\" driver is blacklisted.\n It has been reported to oopses the kernel on unloading.\n The new \"%s\" driver'll only be used on next bootstrap.", $driver, $new_driver)) if $blacklisted; + my $wait = $in->wait_message(_("Please wait"),_("Please Wait... Applying the configuration")); do_switch($driver, $new_driver); + undef $wait; } } elsif ($driver eq "unknown") { $in->ask_warn(_("No known driver"), diff --git a/perl-install/standalone/draksound b/perl-install/standalone/draksound index a1c056d53..8af6154aa 100755 --- a/perl-install/standalone/draksound +++ b/perl-install/standalone/draksound @@ -39,7 +39,8 @@ if (@devices) { # allocate sound-slot in the same order as install2.pm # fill $device->{driver} with the right sound-slot-XX or default driver if missing sound-slot [real fix'll be in harddrake service] my $driver = modules::get_alias("sound-slot-$::i"); - $_->{driver} = $driver if $driver; + $driver = modules::get_alias($driver) if $driver =~ /sound-card/; # alsaconf ... + $_->{current_driver} = $driver if $driver; harddrake::sound::config($in, $_); } modules::probe_category('multimedia/sound'); } else { |