]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 Jan 2024 12:29:58 +0000 (13:29 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 Jan 2024 12:29:58 +0000 (13:29 +0100)
added patches:
alsa-hda-realtek-fix-mute-and-mic-mute-leds-for-hp-probook-440-g6.patch
revert-pci-aspm-remove-pcie_aspm_pm_state_change.patch

queue-5.15/alsa-hda-realtek-fix-mute-and-mic-mute-leds-for-hp-probook-440-g6.patch [new file with mode: 0644]
queue-5.15/revert-pci-aspm-remove-pcie_aspm_pm_state_change.patch [new file with mode: 0644]
queue-5.15/series

diff --git a/queue-5.15/alsa-hda-realtek-fix-mute-and-mic-mute-leds-for-hp-probook-440-g6.patch b/queue-5.15/alsa-hda-realtek-fix-mute-and-mic-mute-leds-for-hp-probook-440-g6.patch
new file mode 100644 (file)
index 0000000..357f5d4
--- /dev/null
@@ -0,0 +1,32 @@
+From b6ce6e6c79e4ec650887f1fe391a70e54972001a Mon Sep 17 00:00:00 2001
+From: Siddhesh Dharme <siddheshdharme18@gmail.com>
+Date: Thu, 4 Jan 2024 11:37:36 +0530
+Subject: ALSA: hda/realtek: Fix mute and mic-mute LEDs for HP ProBook 440 G6
+
+From: Siddhesh Dharme <siddheshdharme18@gmail.com>
+
+commit b6ce6e6c79e4ec650887f1fe391a70e54972001a upstream.
+
+LEDs in 'HP ProBook 440 G6' laptop are controlled by ALC236 codec.
+Enable already existing quirk 'ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF'
+to fix mute and mic-mute LEDs.
+
+Signed-off-by: Siddhesh Dharme <siddheshdharme18@gmail.com>
+Cc: <stable@vger.kernel.org>
+Link: https://lore.kernel.org/r/20240104060736.5149-1-siddheshdharme18@gmail.com
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/pci/hda/patch_realtek.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -9054,6 +9054,7 @@ static const struct snd_pci_quirk alc269
+       SND_PCI_QUIRK(0x103c, 0x84da, "HP OMEN dc0019-ur", ALC295_FIXUP_HP_OMEN),
+       SND_PCI_QUIRK(0x103c, 0x84e7, "HP Pavilion 15", ALC269_FIXUP_HP_MUTE_LED_MIC3),
+       SND_PCI_QUIRK(0x103c, 0x8519, "HP Spectre x360 15-df0xxx", ALC285_FIXUP_HP_SPECTRE_X360),
++      SND_PCI_QUIRK(0x103c, 0x8537, "HP ProBook 440 G6", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
+       SND_PCI_QUIRK(0x103c, 0x860f, "HP ZBook 15 G6", ALC285_FIXUP_HP_GPIO_AMP_INIT),
+       SND_PCI_QUIRK(0x103c, 0x861f, "HP Elite Dragonfly G1", ALC285_FIXUP_HP_GPIO_AMP_INIT),
+       SND_PCI_QUIRK(0x103c, 0x869d, "HP", ALC236_FIXUP_HP_MUTE_LED),
diff --git a/queue-5.15/revert-pci-aspm-remove-pcie_aspm_pm_state_change.patch b/queue-5.15/revert-pci-aspm-remove-pcie_aspm_pm_state_change.patch
new file mode 100644 (file)
index 0000000..32a8ff3
--- /dev/null
@@ -0,0 +1,103 @@
+From f93e71aea6c60ebff8adbd8941e678302d377869 Mon Sep 17 00:00:00 2001
+From: Bjorn Helgaas <bhelgaas@google.com>
+Date: Mon, 1 Jan 2024 12:08:18 -0600
+Subject: Revert "PCI/ASPM: Remove pcie_aspm_pm_state_change()"
+
+From: Bjorn Helgaas <bhelgaas@google.com>
+
+commit f93e71aea6c60ebff8adbd8941e678302d377869 upstream.
+
+This reverts commit 08d0cc5f34265d1a1e3031f319f594bd1970976c.
+
+Michael reported that when attempting to resume from suspend to RAM on ASUS
+mini PC PN51-BB757MDE1 (DMI model: MINIPC PN51-E1), 08d0cc5f3426
+("PCI/ASPM: Remove pcie_aspm_pm_state_change()") caused a 12-second delay
+with no output, followed by a reboot.
+
+Workarounds include:
+
+  - Reverting 08d0cc5f3426 ("PCI/ASPM: Remove pcie_aspm_pm_state_change()")
+  - Booting with "pcie_aspm=off"
+  - Booting with "pcie_aspm.policy=performance"
+  - "echo 0 | sudo tee /sys/bus/pci/devices/0000:03:00.0/link/l1_aspm"
+    before suspending
+  - Connecting a USB flash drive
+
+Link: https://lore.kernel.org/r/20240102232550.1751655-1-helgaas@kernel.org
+Fixes: 08d0cc5f3426 ("PCI/ASPM: Remove pcie_aspm_pm_state_change()")
+Reported-by: Michael Schaller <michael@5challer.de>
+Link: https://lore.kernel.org/r/76c61361-b8b4-435f-a9f1-32b716763d62@5challer.de
+Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/pci/pci.c       |    6 ++++++
+ drivers/pci/pci.h       |    2 ++
+ drivers/pci/pcie/aspm.c |   19 +++++++++++++++++++
+ 3 files changed, 27 insertions(+)
+
+--- a/drivers/pci/pci.c
++++ b/drivers/pci/pci.c
+@@ -820,6 +820,9 @@ int pci_wait_for_pending(struct pci_dev
+                       return 1;
+       }
++      if (dev->bus->self)
++              pcie_aspm_pm_state_change(dev->bus->self);
++
+       return 0;
+ }
+@@ -1140,6 +1143,9 @@ static int pci_raw_set_power_state(struc
+       if (need_restore)
+               pci_restore_bars(dev);
++      if (dev->bus->self)
++              pcie_aspm_pm_state_change(dev->bus->self);
++
+       return 0;
+ }
+--- a/drivers/pci/pci.h
++++ b/drivers/pci/pci.h
+@@ -595,10 +595,12 @@ bool pcie_wait_for_link(struct pci_dev *
+ #ifdef CONFIG_PCIEASPM
+ void pcie_aspm_init_link_state(struct pci_dev *pdev);
+ void pcie_aspm_exit_link_state(struct pci_dev *pdev);
++void pcie_aspm_pm_state_change(struct pci_dev *pdev);
+ void pcie_aspm_powersave_config_link(struct pci_dev *pdev);
+ #else
+ static inline void pcie_aspm_init_link_state(struct pci_dev *pdev) { }
+ static inline void pcie_aspm_exit_link_state(struct pci_dev *pdev) { }
++static inline void pcie_aspm_pm_state_change(struct pci_dev *pdev) { }
+ static inline void pcie_aspm_powersave_config_link(struct pci_dev *pdev) { }
+ #endif
+--- a/drivers/pci/pcie/aspm.c
++++ b/drivers/pci/pcie/aspm.c
+@@ -1038,6 +1038,25 @@ void pcie_aspm_exit_link_state(struct pc
+       up_read(&pci_bus_sem);
+ }
++/* @pdev: the root port or switch downstream port */
++void pcie_aspm_pm_state_change(struct pci_dev *pdev)
++{
++      struct pcie_link_state *link = pdev->link_state;
++
++      if (aspm_disabled || !link)
++              return;
++      /*
++       * Devices changed PM state, we should recheck if latency
++       * meets all functions' requirement
++       */
++      down_read(&pci_bus_sem);
++      mutex_lock(&aspm_lock);
++      pcie_update_aspm_capable(link->root);
++      pcie_config_aspm_path(link);
++      mutex_unlock(&aspm_lock);
++      up_read(&pci_bus_sem);
++}
++
+ void pcie_aspm_powersave_config_link(struct pci_dev *pdev)
+ {
+       struct pcie_link_state *link = pdev->link_state;
index e2f81dbac8ab8c00597ad49882d5d7bf82457f57..646cd9a3c9e93c8a46ff60d9d41148ae051f14cb 100644 (file)
@@ -1,5 +1,7 @@
 keys-dns-fix-missing-size-check-of-v1-server-list-header.patch
 block-don-t-invalidate-pagecache-for-invalid-falloc-modes.patch
+alsa-hda-realtek-fix-mute-and-mic-mute-leds-for-hp-probook-440-g6.patch
+revert-pci-aspm-remove-pcie_aspm_pm_state_change.patch
 wifi-iwlwifi-pcie-don-t-synchronize-irqs-from-irq.patch
 drm-bridge-ti-sn65dsi86-never-store-more-than-msg-si.patch
 nfc-llcp_core-hold-a-ref-to-llcp_local-dev-when-hold.patch