]> 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>
Fri, 27 Dec 2024 13:02:08 +0000 (14:02 +0100)
commit e21ebe51af688eb98fd6269240212a3c7300deea upstream.

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>
drivers/usb/host/xhci-ring.c

index f318864732f2db9366793b73f850b0884e1d3785..b267dae14d390417afdb3a7cc0391176745c8893 100644 (file)
@@ -1192,8 +1192,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;