mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 00:04:15 +08:00
ALSA: oxygen: prevent muting of nonexistent AC97 controls
The Xonar DX does not have CD Capture controls, so we have to check that a control actually exists before muting it. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
b8e6c91c74
commit
3d839e5b87
@ -512,9 +512,12 @@ static int ac97_switch_get(struct snd_kcontrol *ctl,
|
||||
|
||||
static void mute_ac97_ctl(struct oxygen *chip, unsigned int control)
|
||||
{
|
||||
unsigned int priv_idx = chip->controls[control]->private_value & 0xff;
|
||||
unsigned int priv_idx;
|
||||
u16 value;
|
||||
|
||||
if (!chip->controls[control])
|
||||
return;
|
||||
priv_idx = chip->controls[control]->private_value & 0xff;
|
||||
value = oxygen_read_ac97(chip, 0, priv_idx);
|
||||
if (!(value & 0x8000)) {
|
||||
oxygen_write_ac97(chip, 0, priv_idx, value | 0x8000);
|
||||
|
Loading…
Reference in New Issue
Block a user