ALSA: hda - get subvendor from codec rather than pci_dev
authorHui Wang <hui.wang@canonical.com>
Mon, 26 May 2014 08:22:42 +0000 (16:22 +0800)
committerTakashi Iwai <tiwai@suse.de>
Mon, 26 May 2014 09:05:26 +0000 (11:05 +0200)
It is safer for non-pci situation.

Signed-off-by: Hui Wang <hui.wang@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_auto_parser.c

index a14275326234c23e4ceca1d592a90b41377ee1b1..b684c6e4f301253b39b1e2ed4a82ca4e059cce21 100644 (file)
@@ -860,7 +860,7 @@ void snd_hda_pick_pin_fixup(struct hda_codec *codec,
                return;
 
        for (pq = pin_quirk; pq->subvendor; pq++) {
-               if (codec->bus->pci->subsystem_vendor != pq->subvendor)
+               if ((codec->subsystem_id & 0xffff0000) != (pq->subvendor << 16))
                        continue;
                if (codec->vendor_id != pq->codec)
                        continue;