usb: dwc3: gadget: Don't prepare beyond a transfer
authorThinh Nguyen <Thinh.Nguyen@synopsys.com>
Wed, 6 May 2020 02:47:03 +0000 (19:47 -0700)
committerFelipe Balbi <balbi@kernel.org>
Mon, 25 May 2020 08:09:42 +0000 (11:09 +0300)
commitaefe3d232b6629cb0ac92cc3d4238a5133dd9fec
treedb858fe41780d3d38bb72a3c6c718059d11c037a
parente0d19563eb6c191ca5539789173fb0e8fc5e69ed
usb: dwc3: gadget: Don't prepare beyond a transfer

Don't prepare TRBs beyond a transfer. In DWC_usb32, its transfer burst
capability may try to read and use TRBs beyond the active transfer. For
other controllers, they don't process the next transfer TRBs until the
current transfer is completed. Explicitly prevent preparing TRBs ahead
for all controllers.

Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
drivers/usb/dwc3/gadget.c