ALSA: hda - Fix a wrong array range check in patch_realtek.c
The commit 6a4f2ccb467e00281470cde2dee08fe5ecde62d1 introduced a wrong comparision for the array range check, which effectively skips the whole initialization of DAC connections. Fixed now. Reference: bko#15689 https://bugzilla.kernel.org/show_bug.cgi?id=15689 Reported-by: Adrian Ulrich <kernel@blinkenlights.ch> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
d12841827a
commit
f9700d5a45
@ -10110,13 +10110,12 @@ static void alc882_auto_set_output_and_unmute(struct hda_codec *codec,
|
|||||||
int idx;
|
int idx;
|
||||||
|
|
||||||
alc_set_pin_output(codec, nid, pin_type);
|
alc_set_pin_output(codec, nid, pin_type);
|
||||||
|
if (dac_idx >= spec->multiout.num_dacs)
|
||||||
|
return;
|
||||||
if (spec->multiout.dac_nids[dac_idx] == 0x25)
|
if (spec->multiout.dac_nids[dac_idx] == 0x25)
|
||||||
idx = 4;
|
idx = 4;
|
||||||
else {
|
else
|
||||||
if (spec->multiout.num_dacs >= dac_idx)
|
|
||||||
return;
|
|
||||||
idx = spec->multiout.dac_nids[dac_idx] - 2;
|
idx = spec->multiout.dac_nids[dac_idx] - 2;
|
||||||
}
|
|
||||||
snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_CONNECT_SEL, idx);
|
snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_CONNECT_SEL, idx);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user