summaryrefslogtreecommitdiff
path: root/sound/pci/hda/hda_codec.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-01-12 09:59:14 +0100
committerTakashi Iwai <tiwai@suse.de>2012-01-12 09:59:14 +0100
commit627b79628f56c3deeb17dec1edf6899b49552fa4 (patch)
treedeac8b2cce5d70708fa944a270ee031f069226d8 /sound/pci/hda/hda_codec.c
parent29abceb67f8a230da806db4ed73899595bd2ae76 (diff)
parent8c3f5d8a9b7d0d8506bc2a0525e012eae02b1853 (diff)
Merge branch 'topic/misc' into for-linus
Diffstat (limited to 'sound/pci/hda/hda_codec.c')
-rw-r--r--sound/pci/hda/hda_codec.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index e44b107fdc75..4562e9de6a1a 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -4046,9 +4046,9 @@ int snd_hda_check_board_codec_sid_config(struct hda_codec *codec,
/* Search for codec ID */
for (q = tbl; q->subvendor; q++) {
- unsigned long vendorid = (q->subdevice) | (q->subvendor << 16);
-
- if (vendorid == codec->subsystem_id)
+ unsigned int mask = 0xffff0000 | q->subdevice_mask;
+ unsigned int id = (q->subdevice | (q->subvendor << 16)) & mask;
+ if ((codec->subsystem_id & mask) == id)
break;
}