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>

authored by Clemens Ladisch and committed by Takashi Iwai 3d839e5b b8e6c91c

+4 -1
+4 -1
sound/pci/oxygen/oxygen_mixer.c
··· 512 512 513 513 static void mute_ac97_ctl(struct oxygen *chip, unsigned int control) 514 514 { 515 - unsigned int priv_idx = chip->controls[control]->private_value & 0xff; 515 + unsigned int priv_idx; 516 516 u16 value; 517 517 518 + if (!chip->controls[control]) 519 + return; 520 + priv_idx = chip->controls[control]->private_value & 0xff; 518 521 value = oxygen_read_ac97(chip, 0, priv_idx); 519 522 if (!(value & 0x8000)) { 520 523 oxygen_write_ac97(chip, 0, priv_idx, value | 0x8000);