summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_codec.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-11-28 17:53:36 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2011-11-28 17:53:36 +0100
commit3c512b193a3f8c24045b809db91b03f463f72105 (patch)
tree124b158a151f749ee2c04c131476fe1a6a2cfdb2 /sound/pci/hda/hda_codec.c
parentMerge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/... (diff)
parentMerge branch 'fix/hda' into for-linus (diff)
downloadlinux-3c512b193a3f8c24045b809db91b03f463f72105.tar.xz
linux-3c512b193a3f8c24045b809db91b03f463f72105.zip
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (28 commits) ALSA: hda - Fix jack-detection control of VT1708 ALSA: hda - cut and paste typo in cs420x_models[] ALSA: hda/realtek - Minor cleanup ALSA: hda/realtek - Fix missing inits of item indices for auto-mic ALSA: hda - Fix invalid pin and GPIO for Apple laptops with CS codecs ALSA: hda - Check subdevice mask in snd_hda_check_board_codec_sid_config() ALSA: hda - fail ELD reading early ALSA: lx6464es - fix device communication via command bus ALSA: lx6464es - command buffer API cleanup ALSA: hda - repoll ELD content for multiple times ALSA: hdspm - Fix PCI ID for PCIe RME MADI cards ASoC: Ensure WM8731 register cache is synced when resuming from disabled ALSA: cs5535 - Fix an endianness conversion ASoC: cs4271: Fix wrong mask parameter in some snd_soc_update_bits calls ASoC: wm_hubs: fix DB_RANGE size ASoC: wm9090: fix DB_RANGE size ASoC: wm8993: fix DB_RANGE size ASoC: wm8962: fix DB_RANGE size ASoC: sgtl5000: fix DB_RANGE size ASoC: rt5631: fix DB_RANGE size ...
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;
}