]> git.kernelconcepts.de Git - karo-tx-uboot.git/commit
usb: dwc3: gadget: Set all ctrl fields of Transfer Control Blocks (TRB) to be LST
authorLukasz Majewski <l.majewski@samsung.com>
Tue, 3 Mar 2015 16:32:13 +0000 (17:32 +0100)
committerLothar Waßmann <LW@KARO-electronics.de>
Tue, 8 Sep 2015 19:47:12 +0000 (21:47 +0200)
commit9305992b731f5d7721b213951a8cea9c4863dec7
treeea5e031515556f19279979bdb2d7c6889febc53c
parentbd96c9b5770087e709c44d7406a0bca53904248f
usb: dwc3: gadget: Set all ctrl fields of Transfer Control Blocks (TRB) to be LST

It turned out that current dwc3 gadget code is preparing multiple TRBs
for a transfer. Unfortunately, when multiple requests are in the same
queue, only for the last one the LST (last) ctrl bit is set.

Due to that dwc3 HW executes all TRBs up till the one marked as last.
Unfortunately, UMS requires call of ->complete callback after any send TRB.
This is the reason for "hangs" in executing UMS.

This code simplifies this situation and set each TRB's ctrl field bit to be
last (LST bit).

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
drivers/usb/dwc3/gadget.c