xhci: store TD status in the td struct instead of passing it along

[ Upstream commit a6ccd1fd4bd4fca37eaa3d76bef940d6332919bc ]

In cases where the TD can't be given back in current handler we want
to be able to store it until its time to return the TD.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210129130044.206855-19-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stable-dep-of: a1575120972e ("xhci: Prevent infinite loop in transaction errors recovery for streams")
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Mathias Nyman
2021-01-29 15:00:35 +02:00
committed by Greg Kroah-Hartman
parent 9b63a80c45
commit cad965cedb
2 changed files with 30 additions and 27 deletions

View File

@@ -1544,6 +1544,7 @@ struct xhci_segment {
struct xhci_td {
struct list_head td_list;
struct list_head cancelled_td_list;
int status;
struct urb *urb;
struct xhci_segment *start_seg;
union xhci_trb *first_trb;