summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorDavid Henningsson <diwic@ubuntu.com>2010-06-02 16:56:41 +0200
committerTakashi Iwai <tiwai@suse.de>2010-07-26 10:28:01 +0200
commit2385b789f1525542396d8f6b0cc37c1eb2493b4c (patch)
tree20eda8049435a3a54dc3c288e56944be46fe9ca7 /sound
parentab85457f0a46b9dab17aaa01ceefc755b124d48d (diff)
ALSA: hda - Ensure codec patch files are checked for the correct codec ID
Signed-off-by: David Henningsson <diwic@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/hda_hwdep.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_hwdep.c b/sound/pci/hda/hda_hwdep.c
index a1fc83753cc6..bf3ced51e0f8 100644
--- a/sound/pci/hda/hda_hwdep.c
+++ b/sound/pci/hda/hda_hwdep.c
@@ -649,7 +649,9 @@ static void parse_codec_mode(char *buf, struct hda_bus *bus,
*codecp = NULL;
if (sscanf(buf, "%i %i %i", &vendorid, &subid, &caddr) == 3) {
list_for_each_entry(codec, &bus->codec_list, list) {
- if (codec->addr == caddr) {
+ if (codec->vendor_id == vendorid &&
+ codec->subsystem_id == subid &&
+ codec->addr == caddr) {
*codecp = codec;
break;
}