aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/watchdog/da9063_wdt.c
diff options
context:
space:
mode:
authorMathias Nyman <mathias.nyman@linux.intel.com>2021-05-12 11:08:13 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-05-13 14:47:36 +0200
commit9b6a126ae58d9edfdde2d5f2e87f7615ea5e0155 (patch)
tree370549689331d25df2b770a531c3f24b3a0259d7 /drivers/watchdog/da9063_wdt.c
parentb813511135e8b84fa741afdfbab4937919100bef (diff)
downloadlinux-9b6a126ae58d9edfdde2d5f2e87f7615ea5e0155.tar.gz
xhci: Fix giving back cancelled URBs even if halted endpoint can't reset
Commit 9ebf30007858 ("xhci: Fix halted endpoint at stop endpoint command completion") in 5.12 changes how cancelled URBs are given back. To cancel a URB xhci driver needs to stop the endpoint first. To clear a halted endpoint xhci driver needs to reset the endpoint. In rare cases when an endpoint halt (error) races with a endpoint stop we need to clear the reset before removing, and giving back the cancelled URB. The above change in 5.12 takes care of this, but it also relies on the reset endpoint completion handler to give back the cancelled URBs. There are cases when driver refuses to queue reset endpoint commands, for example when a link suddenly goes to an inactive error state. In this case the cancelled URB is never given back. Fix this by giving back the URB in the stop endpoint if queuing a reset endpoint command fails. Fixes: 9ebf30007858 ("xhci: Fix halted endpoint at stop endpoint command completion") CC: <stable@vger.kernel.org> # 5.12 Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Link: https://lore.kernel.org/r/20210512080816.866037-3-mathias.nyman@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/watchdog/da9063_wdt.c')
0 files changed, 0 insertions, 0 deletions