From 6d32d7c2fe85efbd313a878629b59cc27eeac30d Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 8 May 2020 11:53:23 +0200 Subject: [PATCH] 4.19-stable patches added patches: alsa-hda-match-both-pci-id-and-ssid-for-driver-blacklist.patch --- ...pci-id-and-ssid-for-driver-blacklist.patch | 54 +++++++++++++++++++ queue-4.19/series | 1 + 2 files changed, 55 insertions(+) create mode 100644 queue-4.19/alsa-hda-match-both-pci-id-and-ssid-for-driver-blacklist.patch diff --git a/queue-4.19/alsa-hda-match-both-pci-id-and-ssid-for-driver-blacklist.patch b/queue-4.19/alsa-hda-match-both-pci-id-and-ssid-for-driver-blacklist.patch new file mode 100644 index 00000000000..7aa892c9079 --- /dev/null +++ b/queue-4.19/alsa-hda-match-both-pci-id-and-ssid-for-driver-blacklist.patch @@ -0,0 +1,54 @@ +From 977dfef40c8996b69afe23a9094d184049efb7bb Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Fri, 24 Apr 2020 08:12:22 +0200 +Subject: ALSA: hda: Match both PCI ID and SSID for driver blacklist + +From: Takashi Iwai + +commit 977dfef40c8996b69afe23a9094d184049efb7bb upstream. + +The commit 3c6fd1f07ed0 ("ALSA: hda: Add driver blacklist") added a +new blacklist for the devices that are known to have empty codecs, and +one of the entries was ASUS ROG Zenith II (PCI SSID 1043:874f). +However, it turned out that the very same PCI SSID is used for the +previous model that does have the valid HD-audio codecs and the change +broke the sound on it. + +Since the empty codec problem appear on the certain AMD platform (PCI +ID 1022:1487), this patch changes the blacklist matching to both PCI +ID and SSID using pci_match_id(). Also, the entry that was removed by +the previous fix for ASUS ROG Zenigh II is re-added. + +Link: https://lore.kernel.org/r/20200424061222.19792-1-tiwai@suse.de +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/pci/hda/hda_intel.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +--- a/sound/pci/hda/hda_intel.c ++++ b/sound/pci/hda/hda_intel.c +@@ -2214,9 +2214,10 @@ static const struct hdac_io_ops pci_hda_ + * some HD-audio PCI entries are exposed without any codecs, and such devices + * should be ignored from the beginning. + */ +-static const struct snd_pci_quirk driver_blacklist[] = { +- SND_PCI_QUIRK(0x1462, 0xcb59, "MSI TRX40 Creator", 0), +- SND_PCI_QUIRK(0x1462, 0xcb60, "MSI TRX40", 0), ++static const struct pci_device_id driver_blacklist[] = { ++ { PCI_DEVICE_SUB(0x1022, 0x1487, 0x1043, 0x874f) }, /* ASUS ROG Zenith II / Strix */ ++ { PCI_DEVICE_SUB(0x1022, 0x1487, 0x1462, 0xcb59) }, /* MSI TRX40 Creator */ ++ { PCI_DEVICE_SUB(0x1022, 0x1487, 0x1462, 0xcb60) }, /* MSI TRX40 */ + {} + }; + +@@ -2239,7 +2240,7 @@ static int azx_probe(struct pci_dev *pci + bool schedule_probe; + int err; + +- if (snd_pci_quirk_lookup(pci, driver_blacklist)) { ++ if (pci_match_id(driver_blacklist, pci)) { + dev_info(&pci->dev, "Skipping the blacklisted device\n"); + return -ENODEV; + } diff --git a/queue-4.19/series b/queue-4.19/series index e9a3e23d135..332c63d41dd 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -25,3 +25,4 @@ lib-devres-add-a-helper-function-for-ioremap_uc.patch mfd-intel-lpss-use-devm_ioremap_uc-for-mmio.patch hexagon-clean-up-ioremap.patch hexagon-define-ioremap_uc.patch +alsa-hda-match-both-pci-id-and-ssid-for-driver-blacklist.patch -- 2.47.3