]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop some usb patches from 5.4
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 15 Jul 2025 12:19:23 +0000 (14:19 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 15 Jul 2025 12:19:23 +0000 (14:19 +0200)
Not in newer ones, and the backport chain looks "odd" to me.

queue-5.4/series
queue-5.4/usb-dwc3-abort-suspend-on-soft-disconnect-failure.patch [deleted file]
queue-5.4/usb-dwc3-clean-up-probe-declarations.patch [deleted file]
queue-5.4/usb-xhci-move-extcaps-related-macros-to-respective-h.patch [deleted file]
queue-5.4/usb-xhci-quirk-for-data-loss-in-isoc-transfers.patch [deleted file]
queue-5.4/xhci-allow-rpm-on-the-usb-controller-1022-43f7-by-de.patch [deleted file]
queue-5.4/xhci-dbc-flush-queued-requests-before-stopping-dbc.patch [deleted file]
queue-5.4/xhci-disable-stream-for-xhc-controller-with-xhci_bro.patch [deleted file]

index a940a083f160ce4706bd95424b15a18f5fd303a7..3e6004344a59b6b344ac5c45a05fcfd3258ccd58 100644 (file)
@@ -127,16 +127,9 @@ netlink-fix-rmem-check-in-netlink_broadcast_deliver.patch
 rdma-mlx5-fix-vport-loopback-for-mpv-device.patch
 flexfiles-pnfs-update-stats-on-nfs4err_delay-for-v4..patch
 nfsv4-flexfiles-fix-handling-of-nfs-level-errors-in-.patch
-xhci-allow-rpm-on-the-usb-controller-1022-43f7-by-de.patch
-usb-xhci-quirk-for-data-loss-in-isoc-transfers.patch
-xhci-dbc-flush-queued-requests-before-stopping-dbc.patch
-xhci-disable-stream-for-xhc-controller-with-xhci_bro.patch
 input-xpad-add-support-for-amazon-game-controller.patch
 input-xpad-add-vid-for-turtle-beach-controllers.patch
 input-xpad-support-acer-ngr-200-controller.patch
-usb-dwc3-clean-up-probe-declarations.patch
-usb-xhci-move-extcaps-related-macros-to-respective-h.patch
-usb-dwc3-abort-suspend-on-soft-disconnect-failure.patch
 dma-buf-fix-timeout-handling-in-dma_resv_wait_timeou.patch
 wifi-zd1211rw-fix-potential-null-pointer-dereference.patch
 md-raid1-fix-stack-memory-use-after-return-in-raid1_.patch
diff --git a/queue-5.4/usb-dwc3-abort-suspend-on-soft-disconnect-failure.patch b/queue-5.4/usb-dwc3-abort-suspend-on-soft-disconnect-failure.patch
deleted file mode 100644 (file)
index 050e4de..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-From ee2ad558af36166f1920ac2ce9762145b4ccbfde Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 28 May 2025 18:03:11 +0800
-Subject: usb: dwc3: Abort suspend on soft disconnect failure
-
-From: Kuen-Han Tsai <khtsai@google.com>
-
-[ Upstream commit 630a1dec3b0eba2a695b9063f1c205d585cbfec9 ]
-
-When dwc3_gadget_soft_disconnect() fails, dwc3_suspend_common() keeps
-going with the suspend, resulting in a period where the power domain is
-off, but the gadget driver remains connected.  Within this time frame,
-invoking vbus_event_work() will cause an error as it attempts to access
-DWC3 registers for endpoint disabling after the power domain has been
-completely shut down.
-
-Abort the suspend sequence when dwc3_gadget_suspend() cannot halt the
-controller and proceeds with a soft connect.
-
-Fixes: 9f8a67b65a49 ("usb: dwc3: gadget: fix gadget suspend/resume")
-Cc: stable <stable@kernel.org>
-Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
-Signed-off-by: Kuen-Han Tsai <khtsai@google.com>
-Link: https://lore.kernel.org/r/20250528100315.2162699-1-khtsai@google.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/usb/dwc3/core.c   |  9 +++++++--
- drivers/usb/dwc3/gadget.c | 15 ++++++++++++++-
- 2 files changed, 21 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
-index 36499f7054a28..71efeb4f3a774 100644
---- a/drivers/usb/dwc3/core.c
-+++ b/drivers/usb/dwc3/core.c
-@@ -1642,12 +1642,15 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
- {
-       unsigned long   flags;
-       u32 reg;
-+      int ret;
-       switch (dwc->current_dr_role) {
-       case DWC3_GCTL_PRTCAP_DEVICE:
-               spin_lock_irqsave(&dwc->lock, flags);
--              dwc3_gadget_suspend(dwc);
-+              ret = dwc3_gadget_suspend(dwc);
-               spin_unlock_irqrestore(&dwc->lock, flags);
-+              if (ret)
-+                      return ret;
-               synchronize_irq(dwc->irq_gadget);
-               dwc3_core_exit(dwc);
-               break;
-@@ -1679,8 +1682,10 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
-               if (dwc->current_otg_role == DWC3_OTG_ROLE_DEVICE) {
-                       spin_lock_irqsave(&dwc->lock, flags);
--                      dwc3_gadget_suspend(dwc);
-+                      ret = dwc3_gadget_suspend(dwc);
-                       spin_unlock_irqrestore(&dwc->lock, flags);
-+                      if (ret)
-+                              return ret;
-                       synchronize_irq(dwc->irq_gadget);
-               }
-diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
-index 76316205483b9..a1da478f29724 100644
---- a/drivers/usb/dwc3/gadget.c
-+++ b/drivers/usb/dwc3/gadget.c
-@@ -3838,10 +3838,23 @@ void dwc3_gadget_exit(struct dwc3 *dwc)
- int dwc3_gadget_suspend(struct dwc3 *dwc)
- {
-+      int ret;
-+
-       if (!dwc->gadget_driver)
-               return 0;
--      dwc3_gadget_run_stop(dwc, false, false);
-+      ret = dwc3_gadget_run_stop(dwc, false, false);
-+      if (ret) {
-+              /*
-+               * Attempt to reset the controller's state. Likely no
-+               * communication can be established until the host
-+               * performs a port reset.
-+               */
-+              if (dwc->softconnect)
-+                      dwc3_gadget_run_stop(dwc, true, false);
-+              return -EAGAIN;
-+      }
-+
-       dwc3_disconnect_gadget(dwc);
-       __dwc3_gadget_stop(dwc);
--- 
-2.39.5
-
diff --git a/queue-5.4/usb-dwc3-clean-up-probe-declarations.patch b/queue-5.4/usb-dwc3-clean-up-probe-declarations.patch
deleted file mode 100644 (file)
index 03c7fee..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-From f0782cffd61c6756da33dd9ba69e6d7e38da492e Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 4 Apr 2023 09:25:24 +0200
-Subject: USB: dwc3: clean up probe declarations
-
-From: Johan Hovold <johan+linaro@kernel.org>
-
-[ Upstream commit 9a4d7dd1990383df8ffa09d6879cecb0534405e1 ]
-
-Clean up the probe variable declarations by removing the stray newlines.
-
-Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
-Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
-Link: https://lore.kernel.org/r/20230404072524.19014-12-johan+linaro@kernel.org
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Stable-dep-of: 630a1dec3b0e ("usb: dwc3: Abort suspend on soft disconnect failure")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/usb/dwc3/core.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
-index 1a420c00d6ca1..36499f7054a28 100644
---- a/drivers/usb/dwc3/core.c
-+++ b/drivers/usb/dwc3/core.c
-@@ -1430,12 +1430,10 @@ static int dwc3_probe(struct platform_device *pdev)
- {
-       struct device           *dev = &pdev->dev;
-       struct resource         *res, dwc_res;
-+      void __iomem            *regs;
-       struct dwc3             *dwc;
--
-       int                     ret;
--      void __iomem            *regs;
--
-       dwc = devm_kzalloc(dev, sizeof(*dwc), GFP_KERNEL);
-       if (!dwc)
-               return -ENOMEM;
--- 
-2.39.5
-
diff --git a/queue-5.4/usb-xhci-move-extcaps-related-macros-to-respective-h.patch b/queue-5.4/usb-xhci-move-extcaps-related-macros-to-respective-h.patch
deleted file mode 100644 (file)
index 46aa250..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-From 5cec18ba66257c64a30383007a7f9df565649dd8 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 28 Aug 2023 19:00:23 +0530
-Subject: usb: xhci: Move extcaps related macros to respective header file
-
-From: Krishna Kurapati <quic_kriskura@quicinc.com>
-
-[ Upstream commit 60958b3abacc4eeea21236aa61bfacd1c3520168 ]
-
-DWC3 driver needs access to XHCI Extended Capabilities registers to
-read number of usb2 ports and usb3 ports present on multiport controller.
-Since the extcaps header is sufficient to parse this info, move port_count
-related macros and structure from xhci.h to xhci-ext-caps.h.
-
-Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
-Link: https://lore.kernel.org/r/20230828133033.11988-4-quic_kriskura@quicinc.com
-Acked-by: Mathias Nyman <mathias.nyman@linux.intel.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Stable-dep-of: 630a1dec3b0e ("usb: dwc3: Abort suspend on soft disconnect failure")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/usb/host/xhci-ext-caps.h | 27 +++++++++++++++++++++++++++
- drivers/usb/host/xhci.h          | 27 ---------------------------
- 2 files changed, 27 insertions(+), 27 deletions(-)
-
-diff --git a/drivers/usb/host/xhci-ext-caps.h b/drivers/usb/host/xhci-ext-caps.h
-index 2208fa6c74109..615b4562184bb 100644
---- a/drivers/usb/host/xhci-ext-caps.h
-+++ b/drivers/usb/host/xhci-ext-caps.h
-@@ -79,6 +79,33 @@
- /* true: Controller Not Ready to accept doorbell or op reg writes after reset */
- #define XHCI_STS_CNR          (1 << 11)
-+/**
-+ * struct xhci_protocol_caps
-+ * @revision:         major revision, minor revision, capability ID,
-+ *                    and next capability pointer.
-+ * @name_string:      Four ASCII characters to say which spec this xHC
-+ *                    follows, typically "USB ".
-+ * @port_info:                Port offset, count, and protocol-defined information.
-+ */
-+struct xhci_protocol_caps {
-+      u32     revision;
-+      u32     name_string;
-+      u32     port_info;
-+};
-+
-+#define       XHCI_EXT_PORT_MAJOR(x)  (((x) >> 24) & 0xff)
-+#define       XHCI_EXT_PORT_MINOR(x)  (((x) >> 16) & 0xff)
-+#define       XHCI_EXT_PORT_PSIC(x)   (((x) >> 28) & 0x0f)
-+#define       XHCI_EXT_PORT_OFF(x)    ((x) & 0xff)
-+#define       XHCI_EXT_PORT_COUNT(x)  (((x) >> 8) & 0xff)
-+
-+#define       XHCI_EXT_PORT_PSIV(x)   (((x) >> 0) & 0x0f)
-+#define       XHCI_EXT_PORT_PSIE(x)   (((x) >> 4) & 0x03)
-+#define       XHCI_EXT_PORT_PLT(x)    (((x) >> 6) & 0x03)
-+#define       XHCI_EXT_PORT_PFD(x)    (((x) >> 8) & 0x01)
-+#define       XHCI_EXT_PORT_LP(x)     (((x) >> 14) & 0x03)
-+#define       XHCI_EXT_PORT_PSIM(x)   (((x) >> 16) & 0xffff)
-+
- #include <linux/io.h>
- /**
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index 748a823b23dbb..3a2ff1ff32676 100644
---- a/drivers/usb/host/xhci.h
-+++ b/drivers/usb/host/xhci.h
-@@ -555,33 +555,6 @@ struct xhci_doorbell_array {
- #define DB_VALUE(ep, stream)  ((((ep) + 1) & 0xff) | ((stream) << 16))
- #define DB_VALUE_HOST         0x00000000
--/**
-- * struct xhci_protocol_caps
-- * @revision:         major revision, minor revision, capability ID,
-- *                    and next capability pointer.
-- * @name_string:      Four ASCII characters to say which spec this xHC
-- *                    follows, typically "USB ".
-- * @port_info:                Port offset, count, and protocol-defined information.
-- */
--struct xhci_protocol_caps {
--      u32     revision;
--      u32     name_string;
--      u32     port_info;
--};
--
--#define       XHCI_EXT_PORT_MAJOR(x)  (((x) >> 24) & 0xff)
--#define       XHCI_EXT_PORT_MINOR(x)  (((x) >> 16) & 0xff)
--#define       XHCI_EXT_PORT_PSIC(x)   (((x) >> 28) & 0x0f)
--#define       XHCI_EXT_PORT_OFF(x)    ((x) & 0xff)
--#define       XHCI_EXT_PORT_COUNT(x)  (((x) >> 8) & 0xff)
--
--#define       XHCI_EXT_PORT_PSIV(x)   (((x) >> 0) & 0x0f)
--#define       XHCI_EXT_PORT_PSIE(x)   (((x) >> 4) & 0x03)
--#define       XHCI_EXT_PORT_PLT(x)    (((x) >> 6) & 0x03)
--#define       XHCI_EXT_PORT_PFD(x)    (((x) >> 8) & 0x01)
--#define       XHCI_EXT_PORT_LP(x)     (((x) >> 14) & 0x03)
--#define       XHCI_EXT_PORT_PSIM(x)   (((x) >> 16) & 0xffff)
--
- #define PLT_MASK        (0x03 << 6)
- #define PLT_SYM         (0x00 << 6)
- #define PLT_ASYM_RX     (0x02 << 6)
--- 
-2.39.5
-
diff --git a/queue-5.4/usb-xhci-quirk-for-data-loss-in-isoc-transfers.patch b/queue-5.4/usb-xhci-quirk-for-data-loss-in-isoc-transfers.patch
deleted file mode 100644 (file)
index 78a04d1..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-From 1656177ef51979f78eb53c9abe7ccfe15f456ad7 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 12 Jul 2025 05:34:20 -0400
-Subject: usb: xhci: quirk for data loss in ISOC transfers
-
-From: Raju Rangoju <Raju.Rangoju@amd.com>
-
-[ Upstream commit cbc889ab0122366f6cdbe3c28d477c683ebcebc2 ]
-
-During the High-Speed Isochronous Audio transfers, xHCI
-controller on certain AMD platforms experiences momentary data
-loss. This results in Missed Service Errors (MSE) being
-generated by the xHCI.
-
-The root cause of the MSE is attributed to the ISOC OUT endpoint
-being omitted from scheduling. This can happen when an IN
-endpoint with a 64ms service interval either is pre-scheduled
-prior to the ISOC OUT endpoint or the interval of the ISOC OUT
-endpoint is shorter than that of the IN endpoint. Consequently,
-the OUT service is neglected when an IN endpoint with a service
-interval exceeding 32ms is scheduled concurrently (every 64ms in
-this scenario).
-
-This issue is particularly seen on certain older AMD platforms.
-To mitigate this problem, it is recommended to adjust the service
-interval of the IN endpoint to not exceed 32ms (interval 8). This
-adjustment ensures that the OUT endpoint will not be bypassed,
-even if a smaller interval value is utilized.
-
-Cc: stable <stable@kernel.org>
-Signed-off-by: Raju Rangoju <Raju.Rangoju@amd.com>
-Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
-Link: https://lore.kernel.org/r/20250627144127.3889714-2-mathias.nyman@linux.intel.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/usb/host/xhci-mem.c |  4 ++++
- drivers/usb/host/xhci-pci.c | 26 ++++++++++++++++++++++++++
- drivers/usb/host/xhci.h     |  1 +
- 3 files changed, 31 insertions(+)
-
-diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
-index 610190bf62da4..ac7684c74df7a 100644
---- a/drivers/usb/host/xhci-mem.c
-+++ b/drivers/usb/host/xhci-mem.c
-@@ -1467,6 +1467,10 @@ int xhci_endpoint_init(struct xhci_hcd *xhci,
-       /* Periodic endpoint bInterval limit quirk */
-       if (usb_endpoint_xfer_int(&ep->desc) ||
-           usb_endpoint_xfer_isoc(&ep->desc)) {
-+              if ((xhci->quirks & XHCI_LIMIT_ENDPOINT_INTERVAL_9) &&
-+                  interval >= 9) {
-+                      interval = 8;
-+              }
-               if ((xhci->quirks & XHCI_LIMIT_ENDPOINT_INTERVAL_7) &&
-                   udev->speed >= USB_SPEED_HIGH &&
-                   interval >= 7) {
-diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
-index 64a46db07af86..5ff03b0ce2d02 100644
---- a/drivers/usb/host/xhci-pci.c
-+++ b/drivers/usb/host/xhci-pci.c
-@@ -56,6 +56,15 @@
- #define PCI_DEVICE_ID_INTEL_ICE_LAKE_XHCI             0x8a13
- #define PCI_DEVICE_ID_INTEL_CML_XHCI                  0xa3af
-+#define PCI_DEVICE_ID_AMD_ARIEL_TYPEC_XHCI            0x13ed
-+#define PCI_DEVICE_ID_AMD_ARIEL_TYPEA_XHCI            0x13ee
-+#define PCI_DEVICE_ID_AMD_STARSHIP_XHCI                       0x148c
-+#define PCI_DEVICE_ID_AMD_FIREFLIGHT_15D4_XHCI                0x15d4
-+#define PCI_DEVICE_ID_AMD_FIREFLIGHT_15D5_XHCI                0x15d5
-+#define PCI_DEVICE_ID_AMD_RAVEN_15E0_XHCI             0x15e0
-+#define PCI_DEVICE_ID_AMD_RAVEN_15E1_XHCI             0x15e1
-+#define PCI_DEVICE_ID_AMD_RAVEN2_XHCI                 0x15e5
-+#define PCI_DEVICE_ID_AMD_RENOIR_XHCI                 0x1639
- #define PCI_DEVICE_ID_AMD_PROMONTORYA_4                       0x43b9
- #define PCI_DEVICE_ID_AMD_PROMONTORYA_3                       0x43ba
- #define PCI_DEVICE_ID_AMD_PROMONTORYA_2                       0x43bb
-@@ -69,6 +78,8 @@
- #define PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_7          0x161c
- #define PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_8          0x161f
-+#define PCI_DEVICE_ID_ATI_NAVI10_7316_XHCI            0x7316
-+
- #define PCI_DEVICE_ID_ASMEDIA_1042_XHCI                       0x1042
- #define PCI_DEVICE_ID_ASMEDIA_1042A_XHCI              0x1142
- #define PCI_DEVICE_ID_ASMEDIA_1142_XHCI                       0x1242
-@@ -154,6 +165,21 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
-       if (pdev->vendor == PCI_VENDOR_ID_NEC)
-               xhci->quirks |= XHCI_NEC_HOST;
-+      if (pdev->vendor == PCI_VENDOR_ID_AMD &&
-+          (pdev->device == PCI_DEVICE_ID_AMD_ARIEL_TYPEC_XHCI ||
-+           pdev->device == PCI_DEVICE_ID_AMD_ARIEL_TYPEA_XHCI ||
-+           pdev->device == PCI_DEVICE_ID_AMD_STARSHIP_XHCI ||
-+           pdev->device == PCI_DEVICE_ID_AMD_FIREFLIGHT_15D4_XHCI ||
-+           pdev->device == PCI_DEVICE_ID_AMD_FIREFLIGHT_15D5_XHCI ||
-+           pdev->device == PCI_DEVICE_ID_AMD_RAVEN_15E0_XHCI ||
-+           pdev->device == PCI_DEVICE_ID_AMD_RAVEN_15E1_XHCI ||
-+           pdev->device == PCI_DEVICE_ID_AMD_RAVEN2_XHCI))
-+              xhci->quirks |= XHCI_LIMIT_ENDPOINT_INTERVAL_9;
-+
-+      if (pdev->vendor == PCI_VENDOR_ID_ATI &&
-+          pdev->device == PCI_DEVICE_ID_ATI_NAVI10_7316_XHCI)
-+              xhci->quirks |= XHCI_LIMIT_ENDPOINT_INTERVAL_9;
-+
-       if (pdev->vendor == PCI_VENDOR_ID_AMD && xhci->hci_version == 0x96)
-               xhci->quirks |= XHCI_AMD_0x96_HOST;
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index d27b08d43e398..748a823b23dbb 100644
---- a/drivers/usb/host/xhci.h
-+++ b/drivers/usb/host/xhci.h
-@@ -1889,6 +1889,7 @@ struct xhci_hcd {
- #define XHCI_SKIP_PHY_INIT    BIT_ULL(37)
- #define XHCI_DISABLE_SPARSE   BIT_ULL(38)
- #define XHCI_NO_SOFT_RETRY    BIT_ULL(40)
-+#define XHCI_LIMIT_ENDPOINT_INTERVAL_9 BIT_ULL(41)
-       unsigned int            num_active_eps;
-       unsigned int            limit_active_eps;
--- 
-2.39.5
-
diff --git a/queue-5.4/xhci-allow-rpm-on-the-usb-controller-1022-43f7-by-de.patch b/queue-5.4/xhci-allow-rpm-on-the-usb-controller-1022-43f7-by-de.patch
deleted file mode 100644 (file)
index 419d438..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-From 73260812f3e2416bbf14eb20a086eff513b3f2be Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 4 Mar 2024 11:13:27 +0530
-Subject: xhci: Allow RPM on the USB controller (1022:43f7) by default
-
-From: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
-
-[ Upstream commit 28cbed496059fe1868203b76e9e0ef285733524d ]
-
-Enable runtime PM by default for older AMD 1022:43f7 xHCI 1.1 host as it
-is proven to work.
-Driver enables runtime PM by default for newer xHCI 1.2 host.
-
-Link: https://lore.kernel.org/all/12335218.O9o76ZdvQC@natalenko.name/
-Cc: Mario Limonciello <mario.limonciello@amd.com>
-Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name>
-Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
-Acked-by: Mathias Nyman <mathias.nyman@linux.intel.com>
-Link: https://lore.kernel.org/r/20240304054327.2564500-1-Basavaraj.Natikar@amd.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Stable-dep-of: cbc889ab0122 ("usb: xhci: quirk for data loss in ISOC transfers")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/usb/host/xhci-pci.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
-index e585fa63f766e..64a46db07af86 100644
---- a/drivers/usb/host/xhci-pci.c
-+++ b/drivers/usb/host/xhci-pci.c
-@@ -177,8 +177,11 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
-               xhci->quirks |= XHCI_RESET_ON_RESUME;
-       }
--      if (pdev->vendor == PCI_VENDOR_ID_AMD)
-+      if (pdev->vendor == PCI_VENDOR_ID_AMD) {
-               xhci->quirks |= XHCI_TRUST_TX_LENGTH;
-+              if (pdev->device == 0x43f7)
-+                      xhci->quirks |= XHCI_DEFAULT_PM_RUNTIME_ALLOW;
-+      }
-       if ((pdev->vendor == PCI_VENDOR_ID_AMD) &&
-               ((pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_4) ||
--- 
-2.39.5
-
diff --git a/queue-5.4/xhci-dbc-flush-queued-requests-before-stopping-dbc.patch b/queue-5.4/xhci-dbc-flush-queued-requests-before-stopping-dbc.patch
deleted file mode 100644 (file)
index 7fb9625..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-From 9caef1dfdbe6904b6287c930035279f78591a20d Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 12 Jul 2025 06:00:25 -0400
-Subject: xhci: dbc: Flush queued requests before stopping dbc
-
-From: Mathias Nyman <mathias.nyman@linux.intel.com>
-
-[ Upstream commit efe3e3ae5a66cb38ef29c909e951b4039044bae9 ]
-
-Flush dbc requests when dbc is stopped and transfer rings are freed.
-Failure to flush them lead to leaking memory and dbc completing odd
-requests after resuming from suspend, leading to error messages such as:
-
-[   95.344392] xhci_hcd 0000:00:0d.0: no matched request
-
-Cc: stable <stable@kernel.org>
-Fixes: dfba2174dc42 ("usb: xhci: Add DbC support in xHCI driver")
-Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
-Link: https://lore.kernel.org/r/20250627144127.3889714-5-mathias.nyman@linux.intel.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/usb/host/xhci-dbgcap.c | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/drivers/usb/host/xhci-dbgcap.c b/drivers/usb/host/xhci-dbgcap.c
-index 93e2cca5262d1..5c8e464adaeb1 100644
---- a/drivers/usb/host/xhci-dbgcap.c
-+++ b/drivers/usb/host/xhci-dbgcap.c
-@@ -549,6 +549,18 @@ static void xhci_dbc_stop(struct xhci_hcd *xhci)
-       WARN_ON(!dbc);
-+      switch (dbc->state) {
-+      case DS_DISABLED:
-+              return;
-+      case DS_CONFIGURED:
-+              spin_lock(&dbc->lock);
-+              xhci_dbc_flush_requests(dbc);
-+              spin_unlock(&dbc->lock);
-+              break;
-+      default:
-+              break;
-+      }
-+
-       cancel_delayed_work_sync(&dbc->event_work);
-       if (port->registered)
--- 
-2.39.5
-
diff --git a/queue-5.4/xhci-disable-stream-for-xhc-controller-with-xhci_bro.patch b/queue-5.4/xhci-disable-stream-for-xhc-controller-with-xhci_bro.patch
deleted file mode 100644 (file)
index d70d962..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-From 914ef1a384c06eeaf19c66863fe8d9d222eff5d9 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 27 Jun 2025 17:41:20 +0300
-Subject: xhci: Disable stream for xHC controller with XHCI_BROKEN_STREAMS
-
-From: Hongyu Xie <xiehongyu1@kylinos.cn>
-
-[ Upstream commit cd65ee81240e8bc3c3119b46db7f60c80864b90b ]
-
-Disable stream for platform xHC controller with broken stream.
-
-Fixes: 14aec589327a6 ("storage: accept some UAS devices if streams are unavailable")
-Cc: stable <stable@kernel.org>
-Signed-off-by: Hongyu Xie <xiehongyu1@kylinos.cn>
-Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
-Link: https://lore.kernel.org/r/20250627144127.3889714-3-mathias.nyman@linux.intel.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/usb/host/xhci-plat.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
-index fa320006b04d2..73570b392282d 100644
---- a/drivers/usb/host/xhci-plat.c
-+++ b/drivers/usb/host/xhci-plat.c
-@@ -333,7 +333,8 @@ static int xhci_plat_probe(struct platform_device *pdev)
-       if (ret)
-               goto disable_usb_phy;
--      if (HCC_MAX_PSA(xhci->hcc_params) >= 4)
-+      if (HCC_MAX_PSA(xhci->hcc_params) >= 4 &&
-+          !(xhci->quirks & XHCI_BROKEN_STREAMS))
-               xhci->shared_hcd->can_do_streams = 1;
-       ret = usb_add_hcd(xhci->shared_hcd, irq, IRQF_SHARED);
--- 
-2.39.5
-