]> git.baikalelectronics.ru Git - kernel.git/commit
xhci: use generic command timer for stop endpoint commands.
authorMathias Nyman <mathias.nyman@linux.intel.com>
Wed, 11 May 2022 22:04:47 +0000 (01:04 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 May 2022 16:32:25 +0000 (18:32 +0200)
commitadbcbf589ae8d42970cf1a07b8a1753a2000ebf1
tree8b7cf489e815e617965d6fe72d8c20fd8287707f
parent030a348f2a863e7f4d35e4ac652033d648cb5789
xhci: use generic command timer for stop endpoint commands.

The 'stop endpoint' command timer was started when a 'stop endpoint'
command was added to the command queue.
This can trigger unwanted timeouts if there are several pending commands
in the queue that xHC needs to handle first.

The generic command timer, which was added later than the 'stop endpoint'
timeout timer, times each command currently being handled by xHC hardware.

A timed out stop endpoint command was treated as a more severe issue than
other failed commands, so the separate stop endpoint timer was left
unchanged.

Use the generic command timer for stop endpoint commands. Identify if
the timed out command was a stop endpoint command in the generic handler,
and treat it with the same severity as earlier.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20220511220450.85367-7-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-mem.c
drivers/usb/host/xhci-ring.c
drivers/usb/host/xhci.c
drivers/usb/host/xhci.h