aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-08-01 02:38:27 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-08-11 21:35:21 -0400
commitc6bffb8ffe2b9e42b09f4960cc623cecf2e9d778 (patch)
treeffd13b73138bb4b2b3fe85a2f92b2cbcce2bfe73 /sound
parent69325d97cb47677902ce3e873aeb1fe4abe7830f (diff)
ALSA: hda - Fix missing fixup for Mac Mini with STAC9221
commit 697aebab78a88c6b164cfb74d19b86817d2ccd82 upstream. A fixup for Apple Mac Mini was lost during the adaption to the generic parser because the fallback for the generic ID 8384:7680 was dropped, and it resulted in the silence output (and maybe other problems). Unfortunately, just adding the missing subsystem ID wasn't enough, in this case. The subsystem ID of this machine is 0000:0100 (what Apple thought...?), and since snd_hda_pick_fixup() doesn't take the vendor id zero into account, the driver ignored this entry. Now it's fixed to regard the vendor id zero as a valid value. Reported-and-tested-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/hda_auto_parser.c2
-rw-r--r--sound/pci/hda/patch_sigmatel.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_auto_parser.c b/sound/pci/hda/hda_auto_parser.c
index 7c11d46b84d3..48a9d004d6d9 100644
--- a/sound/pci/hda/hda_auto_parser.c
+++ b/sound/pci/hda/hda_auto_parser.c
@@ -860,7 +860,7 @@ void snd_hda_pick_fixup(struct hda_codec *codec,
860 } 860 }
861 } 861 }
862 if (id < 0 && quirk) { 862 if (id < 0 && quirk) {
863 for (q = quirk; q->subvendor; q++) { 863 for (q = quirk; q->subvendor || q->subdevice; q++) {
864 unsigned int vendorid = 864 unsigned int vendorid =
865 q->subdevice | (q->subvendor << 16); 865 q->subdevice | (q->subvendor << 16);
866 unsigned int mask = 0xffff0000 | q->subdevice_mask; 866 unsigned int mask = 0xffff0000 | q->subdevice_mask;
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index e849e1e0d7d9..dc4833f47a2b 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -2815,6 +2815,7 @@ static const struct hda_pintbl ecs202_pin_configs[] = {
2815 2815
2816/* codec SSIDs for Intel Mac sharing the same PCI SSID 8384:7680 */ 2816/* codec SSIDs for Intel Mac sharing the same PCI SSID 8384:7680 */
2817static const struct snd_pci_quirk stac922x_intel_mac_fixup_tbl[] = { 2817static const struct snd_pci_quirk stac922x_intel_mac_fixup_tbl[] = {
2818 SND_PCI_QUIRK(0x0000, 0x0100, "Mac Mini", STAC_INTEL_MAC_V3),
2818 SND_PCI_QUIRK(0x106b, 0x0800, "Mac", STAC_INTEL_MAC_V1), 2819 SND_PCI_QUIRK(0x106b, 0x0800, "Mac", STAC_INTEL_MAC_V1),
2819 SND_PCI_QUIRK(0x106b, 0x0600, "Mac", STAC_INTEL_MAC_V2), 2820 SND_PCI_QUIRK(0x106b, 0x0600, "Mac", STAC_INTEL_MAC_V2),
2820 SND_PCI_QUIRK(0x106b, 0x0700, "Mac", STAC_INTEL_MAC_V2), 2821 SND_PCI_QUIRK(0x106b, 0x0700, "Mac", STAC_INTEL_MAC_V2),