xhci: Return correct number of tranferred bytes for stalled control endpoints
Fix the xhci driver from bluntly setting the transferred length to 0 if we get a STALL on anything else than the data stage of a control transfer. Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
41485a90d5
commit
22ae47e65e
|
@ -1934,7 +1934,7 @@ static int process_ctrl_td(struct xhci_hcd *xhci, struct xhci_td *td,
|
|||
td->urb->actual_length =
|
||||
td->urb->transfer_buffer_length -
|
||||
EVENT_TRB_LEN(le32_to_cpu(event->transfer_len));
|
||||
else
|
||||
else if (!td->urb_length_set)
|
||||
td->urb->actual_length = 0;
|
||||
|
||||
return finish_td(xhci, td, event_trb, event, ep, status, false);
|
||||
|
|
Loading…
Reference in New Issue