Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

ALSA: hda - Fix missing fixup for Mac Mini with STAC9221

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>
Cc: <stable@vger.kernel.org> [v3.9+]
Signed-off-by: Takashi Iwai <tiwai@suse.de>

+2 -1
+1 -1
sound/pci/hda/hda_auto_parser.c
··· 860 } 861 } 862 if (id < 0 && quirk) { 863 - for (q = quirk; q->subvendor; q++) { 864 unsigned int vendorid = 865 q->subdevice | (q->subvendor << 16); 866 unsigned int mask = 0xffff0000 | q->subdevice_mask;
··· 860 } 861 } 862 if (id < 0 && quirk) { 863 + for (q = quirk; q->subvendor || q->subdevice; q++) { 864 unsigned int vendorid = 865 q->subdevice | (q->subvendor << 16); 866 unsigned int mask = 0xffff0000 | q->subdevice_mask;
+1
sound/pci/hda/patch_sigmatel.c
··· 2819 2820 /* codec SSIDs for Intel Mac sharing the same PCI SSID 8384:7680 */ 2821 static const struct snd_pci_quirk stac922x_intel_mac_fixup_tbl[] = { 2822 SND_PCI_QUIRK(0x106b, 0x0800, "Mac", STAC_INTEL_MAC_V1), 2823 SND_PCI_QUIRK(0x106b, 0x0600, "Mac", STAC_INTEL_MAC_V2), 2824 SND_PCI_QUIRK(0x106b, 0x0700, "Mac", STAC_INTEL_MAC_V2),
··· 2819 2820 /* codec SSIDs for Intel Mac sharing the same PCI SSID 8384:7680 */ 2821 static const struct snd_pci_quirk stac922x_intel_mac_fixup_tbl[] = { 2822 + SND_PCI_QUIRK(0x0000, 0x0100, "Mac Mini", STAC_INTEL_MAC_V3), 2823 SND_PCI_QUIRK(0x106b, 0x0800, "Mac", STAC_INTEL_MAC_V1), 2824 SND_PCI_QUIRK(0x106b, 0x0600, "Mac", STAC_INTEL_MAC_V2), 2825 SND_PCI_QUIRK(0x106b, 0x0700, "Mac", STAC_INTEL_MAC_V2),