Commit 8a7c47fb authored by Peter Chen's avatar Peter Chen Committed by Greg Kroah-Hartman
Browse files

usb: cdns3: gadget: link trb should point to next request



It has marked the dequeue trb as link trb, but its next segment
pointer is still itself, it causes the transfer can't go on. Fix
it by set its pointer as the trb address for the next request.

Fixes: f616c3bd ("usb: cdns3: Fix dequeue implementation")
Signed-off-by: default avatarPeter Chen <peter.chen@nxp.com>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20200219141455.23257-2-peter.chen@nxp.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f8788d86
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2550,7 +2550,7 @@ found:
	/* Update ring only if removed request is on pending_req_list list */
	if (req_on_hw_ring) {
		link_trb->buffer = TRB_BUFFER(priv_ep->trb_pool_dma +
					      (priv_req->start_trb * TRB_SIZE));
			((priv_req->end_trb + 1) * TRB_SIZE));
		link_trb->control = (link_trb->control & TRB_CYCLE) |
				    TRB_TYPE(TRB_LINK) | TRB_CHAIN;