summaryrefslogtreecommitdiffstats
path: root/perl-install/harddrake
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/harddrake')
-rw-r--r--perl-install/harddrake/sound.pm15
1 files changed, 8 insertions, 7 deletions
diff --git a/perl-install/harddrake/sound.pm b/perl-install/harddrake/sound.pm
index 7605012b8..ce565e03b 100644
--- a/perl-install/harddrake/sound.pm
+++ b/perl-install/harddrake/sound.pm
@@ -129,7 +129,12 @@ sub config {
my $driver = $device->{current_driver} || $device->{driver};
my @alternative = $driver ne $device->{driver} ? $device->{driver} : ();
- if (@alternative) {
+ if ($driver eq "unknown") {
+ $in->ask_from(N("No known driver"),
+ N("There's no known driver for your sound card (%s)",
+ $device->{description}),
+ [ get_any_driver_entry($in, $modules_conf, $driver, $device) ]);
+ } else {
my $new_driver = $driver;
push @alternative, $driver;
my %des = modules::category2modules_and_description('multimedia/sound');
@@ -212,6 +217,7 @@ To use alsa, one can either use:
},
},
[
+ if_(@alternative,
{
label => N("Driver:"), val => \$new_driver, list => \@alternative, default => $new_driver, sort =>1,
allow_empty_list => 1,
@@ -220,7 +226,7 @@ To use alsa, one can either use:
sprintf(($des{$drv} ? "$des{$drv} (%s [%s])"
: "%s [%s]"), $drv, $drv =~ /^snd_/ ? 'ALSA' : 'OSS');
}
- },
+ }),
@common,
]))
{
@@ -230,11 +236,6 @@ To use alsa, one can either use:
do_switch($in, $modules_conf, $device->{current_driver}, $new_driver, $device->{sound_slot_index});
$device->{current_driver} = $new_driver;
}
- } elsif ($driver eq "unknown") {
- $in->ask_from(N("No known driver"),
- N("There's no known driver for your sound card (%s)",
- $device->{description}),
- [ get_any_driver_entry($in, $modules_conf, $driver, $device) ]);
}
end:
}