ALSA: hda - Check subdevice mask in snd_hda_check_board_codec_sid_config()
In snd_hda_check_board_codec_sid_config(), not only comparing with the exact value but allow the bit-mask comparison for vendor-only, etc. Tested-by: Linus Torvalds <torvalds@linux-foundation.org> Tested-by: Dirk Hohndel <hohndel@infradead.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
a370fc62b9
Коммит
e2301a4de2
|
@ -4046,9 +4046,9 @@ int snd_hda_check_board_codec_sid_config(struct hda_codec *codec,
|
||||||
|
|
||||||
/* Search for codec ID */
|
/* Search for codec ID */
|
||||||
for (q = tbl; q->subvendor; q++) {
|
for (q = tbl; q->subvendor; q++) {
|
||||||
unsigned long vendorid = (q->subdevice) | (q->subvendor << 16);
|
unsigned int mask = 0xffff0000 | q->subdevice_mask;
|
||||||
|
unsigned int id = (q->subdevice | (q->subvendor << 16)) & mask;
|
||||||
if (vendorid == codec->subsystem_id)
|
if ((codec->subsystem_id & mask) == id)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче