Skip to content

Commit 697aeba

Browse files
committed
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 <[email protected]> Cc: <[email protected]> [v3.9+] Signed-off-by: Takashi Iwai <[email protected]>
1 parent 209fb1b commit 697aeba

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

sound/pci/hda/hda_auto_parser.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -860,7 +860,7 @@ void snd_hda_pick_fixup(struct hda_codec *codec,
860860
}
861861
}
862862
if (id < 0 && quirk) {
863-
for (q = quirk; q->subvendor; q++) {
863+
for (q = quirk; q->subvendor || q->subdevice; q++) {
864864
unsigned int vendorid =
865865
q->subdevice | (q->subvendor << 16);
866866
unsigned int mask = 0xffff0000 | q->subdevice_mask;

sound/pci/hda/patch_sigmatel.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2819,6 +2819,7 @@ static const struct hda_pintbl ecs202_pin_configs[] = {
28192819

28202820
/* codec SSIDs for Intel Mac sharing the same PCI SSID 8384:7680 */
28212821
static const struct snd_pci_quirk stac922x_intel_mac_fixup_tbl[] = {
2822+
SND_PCI_QUIRK(0x0000, 0x0100, "Mac Mini", STAC_INTEL_MAC_V3),
28222823
SND_PCI_QUIRK(0x106b, 0x0800, "Mac", STAC_INTEL_MAC_V1),
28232824
SND_PCI_QUIRK(0x106b, 0x0600, "Mac", STAC_INTEL_MAC_V2),
28242825
SND_PCI_QUIRK(0x106b, 0x0700, "Mac", STAC_INTEL_MAC_V2),

0 commit comments

Comments
 (0)