OSDN Git Service

usb: dwc3: clean TRB if STARTTRANSFER fail
authorJanusz Dziedzic <januszx.dziedzic@linux.intel.com>
Wed, 9 Nov 2016 10:01:32 +0000 (11:01 +0100)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Fri, 18 Nov 2016 11:54:14 +0000 (13:54 +0200)
commitce3fc8b32994e16f69912c982823105aafead7a6
treee60c196fd3dc368704769ece6c5f3f900f3d45be
parent8ab89da4c281873d58812db68cb42179904fc94b
usb: dwc3: clean TRB if STARTTRANSFER fail

In case STARTTRANSFER will fail, clean TRB.
Seems HW in such case don't clean HWO bit.
So, without this cleanup prev_trb still have
HWO bit set.

In my case (without patch), after first START failed:
- dep->enqueue == 1
- dep->dequeue == 1
- prev_trb still have HWO set
- left_trb() == 0
No way to send more data.

Signed-off-by: Janusz Dziedzic <januszx.dziedzic@linux.intel.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/gadget.c