From: Greg Kroah-Hartman Date: Sun, 19 Jan 2025 07:17:52 +0000 (+0100) Subject: 6.1-stable patches X-Git-Tag: v6.1.126~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8c7e06777f53ce226a8c021ee4a5c84d377d2b72;p=thirdparty%2Fkernel%2Fstable-queue.git 6.1-stable patches added patches: partial-revert-of-xhci-use-pm_ptr-instead-ifdef-for-config_pm-conditionals.patch --- diff --git a/queue-6.1/partial-revert-of-xhci-use-pm_ptr-instead-ifdef-for-config_pm-conditionals.patch b/queue-6.1/partial-revert-of-xhci-use-pm_ptr-instead-ifdef-for-config_pm-conditionals.patch new file mode 100644 index 0000000000..3f4f0495c5 --- /dev/null +++ b/queue-6.1/partial-revert-of-xhci-use-pm_ptr-instead-ifdef-for-config_pm-conditionals.patch @@ -0,0 +1,81 @@ +From: Ron Economos +Date: Sat, 18 Jan 2025 04:24:09 -0800 +Subject: Partial revert of xhci: use pm_ptr() instead #ifdef for CONFIG_PM conditionals +To: Greg Kroah-Hartman , stable@vger.kernel.org +Cc: Pavel Machek , linux-kernel@vger.kernel.org, Ron Economos +Message-ID: <20250118122409.4052121-1-re@w6rz.net> + +commit 9734fd7a2777 ("xhci: use pm_ptr() instead of #ifdef for CONFIG_PM +conditionals") did not quite work properly in the 6.1.y branch where it was +applied to fix a build error when CONFIG_PM was set as it left the following +build errors still present: + + ERROR: modpost: "xhci_suspend" [drivers/usb/host/xhci-pci.ko] undefined! + ERROR: modpost: "xhci_resume" [drivers/usb/host/xhci-pci.ko] undefined! + +Fix this up by properly placing the #ifdef CONFIG_PM in the xhci-pci.c and +hcd.h files to handle this correctly. + +Link: https://lore.kernel.org/r/133dbfa0-4a37-4ae0-bb95-1a35f668ec11@w6rz.net +Signed-off-by: Ron Economos +Link: https://lore.kernel.org/r/d0919169-ee06-4bdd-b2e3-2f776db90971@roeck-us.net +Reported-by: Guenter Roeck +Signed-off-by: Greg Kroah-Hartman +--- + drivers/usb/host/xhci-pci.c | 8 +++++++- + include/linux/usb/hcd.h | 2 ++ + 2 files changed, 9 insertions(+), 1 deletion(-) + +--- a/drivers/usb/host/xhci-pci.c ++++ b/drivers/usb/host/xhci-pci.c +@@ -571,6 +571,7 @@ static void xhci_pci_remove(struct pci_d + pci_set_power_state(dev, PCI_D3hot); + } + ++#ifdef CONFIG_PM + /* + * In some Intel xHCI controllers, in order to get D3 working, + * through a vendor specific SSIC CONFIG register at offset 0x883c, +@@ -720,6 +721,7 @@ static void xhci_pci_shutdown(struct usb + if (xhci->quirks & XHCI_SPURIOUS_WAKEUP) + pci_set_power_state(pdev, PCI_D3hot); + } ++#endif /* CONFIG_PM */ + + /*-------------------------------------------------------------------------*/ + +@@ -761,17 +763,21 @@ static struct pci_driver xhci_pci_driver + /* suspend and resume implemented later */ + + .shutdown = usb_hcd_pci_shutdown, ++#ifdef CONFIG_PM + .driver = { +- .pm = pm_ptr(&usb_hcd_pci_pm_ops), ++ .pm = &usb_hcd_pci_pm_ops + }, ++#endif + }; + + static int __init xhci_pci_init(void) + { + xhci_init_driver(&xhci_pci_hc_driver, &xhci_pci_overrides); ++#ifdef CONFIG_PM + xhci_pci_hc_driver.pci_suspend = xhci_pci_suspend; + xhci_pci_hc_driver.pci_resume = xhci_pci_resume; + xhci_pci_hc_driver.shutdown = xhci_pci_shutdown; ++#endif + return pci_register_driver(&xhci_pci_driver); + } + module_init(xhci_pci_init); +--- a/include/linux/usb/hcd.h ++++ b/include/linux/usb/hcd.h +@@ -486,7 +486,9 @@ extern void usb_hcd_pci_shutdown(struct + + extern int usb_hcd_amd_remote_wakeup_quirk(struct pci_dev *dev); + ++#ifdef CONFIG_PM + extern const struct dev_pm_ops usb_hcd_pci_pm_ops; ++#endif + #endif /* CONFIG_USB_PCI */ + + /* pci-ish (pdev null is ok) buffer alloc/mapping support */ diff --git a/queue-6.1/series b/queue-6.1/series index a7f70c1345..5b7f003a6d 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -1,3 +1,4 @@ +partial-revert-of-xhci-use-pm_ptr-instead-ifdef-for-config_pm-conditionals.patch net-ethernet-ti-cpsw_ale-fix-cpsw_ale_get_field.patch bpf-fix-bpf_sk_select_reuseport-memory-leak.patch openvswitch-fix-lockup-on-tx-to-unregistering-netdev.patch