ALSA: hda - Check bit mask for codec SSID in snd_hda_pick_fixup()
snd_hda_pick_fixup() didn't check the case where the device mask bits are set, typically used for SND_PCI_QUIRK_VENDOR() entries. Fix this. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
915bf29eb9
commit
a33b7b0a89
1 changed files with 2 additions and 1 deletions
|
@ -735,7 +735,8 @@ void snd_hda_pick_fixup(struct hda_codec *codec,
|
|||
for (q = quirk; q->subvendor; q++) {
|
||||
unsigned int vendorid =
|
||||
q->subdevice | (q->subvendor << 16);
|
||||
if (vendorid == codec->subsystem_id) {
|
||||
unsigned int mask = 0xffff0000 | q->subdevice_mask;
|
||||
if ((codec->subsystem_id & mask) == (vendorid & mask)) {
|
||||
id = q->value;
|
||||
#ifdef CONFIG_SND_DEBUG_VERBOSE
|
||||
name = q->name;
|
||||
|
|
Loading…
Reference in a new issue