]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
xhci: Turn NEC specific quirk for handling Stop Endpoint errors generic
authorMathias Nyman <mathias.nyman@linux.intel.com>
Tue, 17 Dec 2024 10:21:21 +0000 (12:21 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jan 2025 12:29:57 +0000 (13:29 +0100)
[ Upstream commit e21ebe51af688eb98fd6269240212a3c7300deea ]

xHC hosts from several vendors have the same issue where endpoints start
so slowly that a later queued 'Stop Endpoint' command may complete before
endpoint is up and running.

The 'Stop Endpoint' command fails with context state error as the endpoint
still appears as  stopped.

See commit 42b758137601 ("usb: xhci: Limit Stop Endpoint retries") for
details

CC: stable@vger.kernel.org
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20241217102122.2316814-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-ring.c

index 4a3a8a3fa69d4fb038b5692c37f53f3d043a69b2..e5b2a3b551e3f6494e67c82e12590ae2c3ea0228 100644 (file)
@@ -1164,8 +1164,6 @@ static void xhci_handle_cmd_stop_ep(struct xhci_hcd *xhci, int slot_id,
                         * Keep retrying until the EP starts and stops again, on
                         * chips where this is known to help. Wait for 100ms.
                         */
-                       if (!(xhci->quirks & XHCI_NEC_HOST))
-                               break;
                        if (time_is_before_jiffies(ep->stop_time + msecs_to_jiffies(100)))
                                break;
                        fallthrough;