linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/3] usb: dwc3: gadget: Fix incorrect DEPCMD and DGCMD status macros
@ 2015-05-21 10:16 Subbaraya Sundeep Bhatta
  2015-05-21 10:16 ` [PATCH v2 2/3] usb: dwc3: gadget: return error if command sent to DGCMD register fails Subbaraya Sundeep Bhatta
  2015-05-21 10:16 ` [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD " Subbaraya Sundeep Bhatta
  0 siblings, 2 replies; 23+ messages in thread
From: Subbaraya Sundeep Bhatta @ 2015-05-21 10:16 UTC (permalink / raw)
  To: balbi; +Cc: gregkh, linux-usb, linux-kernel, stable, Subbaraya Sundeep Bhatta

Fixed the incorrect macro definitions correctly as per databook.

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
Fixes: b09bb64239c8 (usb: dwc3: gadget: implement Global Command support)
Cc: <stable@vger.kernel.org> #v3.5+
---
v2 changes:
	Added Fixes and Cc in commit message.

 drivers/usb/dwc3/core.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index fdab715..c0eafa6 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -339,7 +339,7 @@
 #define DWC3_DGCMD_SET_ENDPOINT_NRDY	0x0c
 #define DWC3_DGCMD_RUN_SOC_BUS_LOOPBACK	0x10
 
-#define DWC3_DGCMD_STATUS(n)		(((n) >> 15) & 1)
+#define DWC3_DGCMD_STATUS(n)		(((n) >> 12) & 0x0F)
 #define DWC3_DGCMD_CMDACT		(1 << 10)
 #define DWC3_DGCMD_CMDIOC		(1 << 8)
 
@@ -355,7 +355,7 @@
 #define DWC3_DEPCMD_PARAM_SHIFT		16
 #define DWC3_DEPCMD_PARAM(x)		((x) << DWC3_DEPCMD_PARAM_SHIFT)
 #define DWC3_DEPCMD_GET_RSC_IDX(x)	(((x) >> DWC3_DEPCMD_PARAM_SHIFT) & 0x7f)
-#define DWC3_DEPCMD_STATUS(x)		(((x) >> 15) & 1)
+#define DWC3_DEPCMD_STATUS(x)		(((x) >> 12) & 0x0F)
 #define DWC3_DEPCMD_HIPRI_FORCERM	(1 << 11)
 #define DWC3_DEPCMD_CMDACT		(1 << 10)
 #define DWC3_DEPCMD_CMDIOC		(1 << 8)
-- 
1.7.4


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 2/3] usb: dwc3: gadget: return error if command sent to DGCMD register fails
  2015-05-21 10:16 [PATCH v2 1/3] usb: dwc3: gadget: Fix incorrect DEPCMD and DGCMD status macros Subbaraya Sundeep Bhatta
@ 2015-05-21 10:16 ` Subbaraya Sundeep Bhatta
  2015-05-21 10:16 ` [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD " Subbaraya Sundeep Bhatta
  1 sibling, 0 replies; 23+ messages in thread
From: Subbaraya Sundeep Bhatta @ 2015-05-21 10:16 UTC (permalink / raw)
  To: balbi; +Cc: gregkh, linux-usb, linux-kernel, stable, Subbaraya Sundeep Bhatta

We need to return error to caller if command is not sent to
controller succesfully.

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
Fixes: b09bb64239c8 (usb: dwc3: gadget: implement Global Command support)
Cc: <stable@vger.kernel.org> #v3.5+
---
v2 changes:
	Added Fixes and Cc in commit message.

 drivers/usb/dwc3/gadget.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 8946c32..fcbe120 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -291,6 +291,8 @@ int dwc3_send_gadget_generic_command(struct dwc3 *dwc, unsigned cmd, u32 param)
 			dwc3_trace(trace_dwc3_gadget,
 					"Command Complete --> %d",
 					DWC3_DGCMD_STATUS(reg));
+			if (DWC3_DGCMD_STATUS(reg))
+				return -EINVAL;
 			return 0;
 		}
 
-- 
1.7.4


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-05-21 10:16 [PATCH v2 1/3] usb: dwc3: gadget: Fix incorrect DEPCMD and DGCMD status macros Subbaraya Sundeep Bhatta
  2015-05-21 10:16 ` [PATCH v2 2/3] usb: dwc3: gadget: return error if command sent to DGCMD register fails Subbaraya Sundeep Bhatta
@ 2015-05-21 10:16 ` Subbaraya Sundeep Bhatta
  2015-06-29 21:47   ` Felipe Balbi
  1 sibling, 1 reply; 23+ messages in thread
From: Subbaraya Sundeep Bhatta @ 2015-05-21 10:16 UTC (permalink / raw)
  To: balbi; +Cc: gregkh, linux-usb, linux-kernel, stable, Subbaraya Sundeep Bhatta

We need to return error to caller if command is not sent to
controller succesfully.

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
Fixes: 72246da40f37 (usb: Introduce DesignWare USB3 DRD Driver)
Cc: <stable@vger.kernel.org>
---
v2 changes:
	Added Fixes and Cc in commit message.

 drivers/usb/dwc3/gadget.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index fcbe120..55b5edc 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -330,6 +330,8 @@ int dwc3_send_gadget_ep_cmd(struct dwc3 *dwc, unsigned ep,
 			dwc3_trace(trace_dwc3_gadget,
 					"Command Complete --> %d",
 					DWC3_DEPCMD_STATUS(reg));
+			if (DWC3_DEPCMD_STATUS(reg))
+				return -EINVAL;
 			return 0;
 		}
 
-- 
1.7.4


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-05-21 10:16 ` [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD " Subbaraya Sundeep Bhatta
@ 2015-06-29 21:47   ` Felipe Balbi
  2015-06-29 21:48     ` Felipe Balbi
  2015-07-01  7:29     ` Subbaraya Sundeep Bhatta
  0 siblings, 2 replies; 23+ messages in thread
From: Felipe Balbi @ 2015-06-29 21:47 UTC (permalink / raw)
  To: Subbaraya Sundeep Bhatta
  Cc: balbi, gregkh, linux-usb, linux-kernel, stable, Subbaraya Sundeep Bhatta

[-- Attachment #1: Type: text/plain, Size: 1057 bytes --]

Hi,

On Thu, May 21, 2015 at 03:46:48PM +0530, Subbaraya Sundeep Bhatta wrote:
> We need to return error to caller if command is not sent to
> controller succesfully.
> 
> Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
> Fixes: 72246da40f37 (usb: Introduce DesignWare USB3 DRD Driver)
> Cc: <stable@vger.kernel.org>
> ---
> v2 changes:
> 	Added Fixes and Cc in commit message.

I noticed that this breaks at least my AM437x silicon with DWC3 2.40a
when used with g_zero and testusb. As of now, it could be that silicon
is mis-behaving because I got a Transfer Complete before the failing Set
Endpoint Transfer Resource command.

In any case, can you run on your setup with g_zero and test.sh/testusb
[1]/[2] just to verify that it really works for you ?

Meanwhile, I'll continue testing on my end.

cheers

[1] https://gitorious.org/usb/usb-tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:testusb.c
[2] https://gitorious.org/usb/usb-tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:test.sh

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-06-29 21:47   ` Felipe Balbi
@ 2015-06-29 21:48     ` Felipe Balbi
  2015-06-29 23:59       ` John Youn
  2015-07-02  2:03       ` John Youn
  2015-07-01  7:29     ` Subbaraya Sundeep Bhatta
  1 sibling, 2 replies; 23+ messages in thread
From: Felipe Balbi @ 2015-06-29 21:48 UTC (permalink / raw)
  To: Felipe Balbi, John Youn
  Cc: Subbaraya Sundeep Bhatta, gregkh, linux-usb, linux-kernel,
	stable, Subbaraya Sundeep Bhatta

[-- Attachment #1: Type: text/plain, Size: 1299 bytes --]

Hi again,

On Mon, Jun 29, 2015 at 04:47:01PM -0500, Felipe Balbi wrote:
> On Thu, May 21, 2015 at 03:46:48PM +0530, Subbaraya Sundeep Bhatta wrote:
> > We need to return error to caller if command is not sent to
> > controller succesfully.
> > 
> > Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
> > Fixes: 72246da40f37 (usb: Introduce DesignWare USB3 DRD Driver)
> > Cc: <stable@vger.kernel.org>
> > ---
> > v2 changes:
> > 	Added Fixes and Cc in commit message.
> 
> I noticed that this breaks at least my AM437x silicon with DWC3 2.40a
> when used with g_zero and testusb. As of now, it could be that silicon
> is mis-behaving because I got a Transfer Complete before the failing Set
> Endpoint Transfer Resource command.
> 
> In any case, can you run on your setup with g_zero and test.sh/testusb
> [1]/[2] just to verify that it really works for you ?
> 
> Meanwhile, I'll continue testing on my end.
> 
> cheers
> 
> [1] https://gitorious.org/usb/usb-tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:testusb.c
> [2] https://gitorious.org/usb/usb-tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:test.sh

Adding John here. John, any chance you could fire up dwc3 on HAPS and
see wether it works or fails for you ?

cheers

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-06-29 21:48     ` Felipe Balbi
@ 2015-06-29 23:59       ` John Youn
  2015-06-30  0:34         ` Felipe Balbi
  2015-07-02  2:03       ` John Youn
  1 sibling, 1 reply; 23+ messages in thread
From: John Youn @ 2015-06-29 23:59 UTC (permalink / raw)
  To: balbi, John Youn
  Cc: Subbaraya Sundeep Bhatta, gregkh, linux-usb, linux-kernel,
	stable, Subbaraya Sundeep Bhatta

On 6/29/2015 2:48 PM, Felipe Balbi wrote:
> Hi again,
> 
> On Mon, Jun 29, 2015 at 04:47:01PM -0500, Felipe Balbi wrote:
>> On Thu, May 21, 2015 at 03:46:48PM +0530, Subbaraya Sundeep Bhatta wrote:
>>> We need to return error to caller if command is not sent to
>>> controller succesfully.
>>>
>>> Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
>>> Fixes: 72246da40f37 (usb: Introduce DesignWare USB3 DRD Driver)
>>> Cc: <stable@vger.kernel.org>
>>> ---
>>> v2 changes:
>>> 	Added Fixes and Cc in commit message.
>>
>> I noticed that this breaks at least my AM437x silicon with DWC3 2.40a
>> when used with g_zero and testusb. As of now, it could be that silicon
>> is mis-behaving because I got a Transfer Complete before the failing Set
>> Endpoint Transfer Resource command.
>>
>> In any case, can you run on your setup with g_zero and test.sh/testusb
>> [1]/[2] just to verify that it really works for you ?
>>
>> Meanwhile, I'll continue testing on my end.
>>
>> cheers
>>
>> [1] https://gitorious.org/usb/usb-tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:testusb.c
>> [2] https://gitorious.org/usb/usb-tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:test.sh
> 
> Adding John here. John, any chance you could fire up dwc3 on HAPS and
> see wether it works or fails for you ?
> 

Sure. I'll try to get to it tomorrow.

John


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-06-29 23:59       ` John Youn
@ 2015-06-30  0:34         ` Felipe Balbi
  0 siblings, 0 replies; 23+ messages in thread
From: Felipe Balbi @ 2015-06-30  0:34 UTC (permalink / raw)
  To: John Youn
  Cc: balbi, Subbaraya Sundeep Bhatta, gregkh, linux-usb, linux-kernel,
	stable, Subbaraya Sundeep Bhatta


[-- Attachment #1.1: Type: text/plain, Size: 2182 bytes --]

On Mon, Jun 29, 2015 at 11:59:42PM +0000, John Youn wrote:
> On 6/29/2015 2:48 PM, Felipe Balbi wrote:
> > Hi again,
> > 
> > On Mon, Jun 29, 2015 at 04:47:01PM -0500, Felipe Balbi wrote:
> >> On Thu, May 21, 2015 at 03:46:48PM +0530, Subbaraya Sundeep Bhatta wrote:
> >>> We need to return error to caller if command is not sent to
> >>> controller succesfully.
> >>>
> >>> Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
> >>> Fixes: 72246da40f37 (usb: Introduce DesignWare USB3 DRD Driver)
> >>> Cc: <stable@vger.kernel.org>
> >>> ---
> >>> v2 changes:
> >>> 	Added Fixes and Cc in commit message.
> >>
> >> I noticed that this breaks at least my AM437x silicon with DWC3 2.40a
> >> when used with g_zero and testusb. As of now, it could be that silicon
> >> is mis-behaving because I got a Transfer Complete before the failing Set
> >> Endpoint Transfer Resource command.
> >>
> >> In any case, can you run on your setup with g_zero and test.sh/testusb
> >> [1]/[2] just to verify that it really works for you ?
> >>
> >> Meanwhile, I'll continue testing on my end.
> >>
> >> cheers
> >>
> >> [1] https://gitorious.org/usb/usb-tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:testusb.c
> >> [2] https://gitorious.org/usb/usb-tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:test.sh
> > 
> > Adding John here. John, any chance you could fire up dwc3 on HAPS and
> > see wether it works or fails for you ?
> > 
> 
> Sure. I'll try to get to it tomorrow.

Thanks a lot :-) If you want to get low latency traces from dwc3 you
can:

# mount -t debugfs none /sys/kernel/debug
# cd /sys/kernel/debug/tracing
# echo 1024 > buffer_size_kb
# echo 1 > events/dwc3/enable

then load g_zero and, on the host, run:

# testusb -t 9 -c 5000 -s 2048 -a

After it fails just read the trace file:

# cat trace

To me, it's failing after 5 iterations. It seems that DWC3 either
notifies transfer completion too early (before Transfer Resource is
actually freed up) or it's returning 1 on Set Endpoint Transfer Resource
by mistake.

cheers

ps: please send along result from trace :-) Mine's attached

-- 
balbi

[-- Attachment #1.2: trace-output.txt --]
[-- Type: text/plain, Size: 185156 bytes --]

# tracer: nop
#
# entries-in-buffer/entries-written: 1929/6008   #P:1
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
    irq/145-dwc3-249   [000] d...    58.896640: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.896643: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.896646: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.896649: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.896652: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.896654: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.896658: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.896662: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.896665: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.896668: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.896676: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.896679: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.896682: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.896685: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.896690: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.896693: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.896777: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.896780: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.896785: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.896788: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.896792: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.896796: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.896800: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.896803: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.896806: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.896809: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.896812: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.896814: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.896817: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.896822: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.896825: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.896828: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.897307: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.897318: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.897321: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.897324: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.897331: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.897334: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.897375: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.897379: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.897385: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.897388: dwc3_ctrl_req: bRequestType 80 bRequest 06 wValue 0100 wIndex 0000 wLength 18
    irq/145-dwc3-249   [000] d...    58.897391: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.897401: dwc3_ep0: queueing request ed15e7c0 to ep0out length 18 state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.897411: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ae531400 size 00000012 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.897419: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.897421: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.897424: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.897427: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.897430: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.897433: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.897436: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.897441: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.897446: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.897449: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.897451: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.897455: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.897457: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.897461: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.897463: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.897474: dwc3_readl: addr fa39c40c value 0000000c
    irq/145-dwc3-249   [000] d.h.    58.897477: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.897480: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.897483: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.897486: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.897489: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.897693: dwc3_event: event 000090c2
    irq/145-dwc3-249   [000] d...    58.897697: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.897707: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.897710: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.897712: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.897716: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.897719: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ae531400 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.897726: dwc3_gadget_giveback: ep0out: req ed15e7c0 length 18/18 ==> 0
    irq/145-dwc3-249   [000] d...    58.897730: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.897733: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.897735: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.897741: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.897744: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.897747: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.897749: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.897752: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.897755: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.897758: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.897764: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.897766: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.897769: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.897772: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.897774: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.897777: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.897785: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.897791: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.897794: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.897797: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.897800: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.897802: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.897871: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.897874: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.897879: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.897884: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.897887: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.897890: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.897892: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.897895: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.897898: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.897901: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.897906: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.897909: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.897911: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.897914: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.897917: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.897919: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.898495: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.898511: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.898515: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.898518: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.898521: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.898523: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.898565: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.898569: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.898575: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.898578: dwc3_ctrl_req: bRequestType 80 bRequest 06 wValue 0f00 wIndex 0000 wLength 5
    irq/145-dwc3-249   [000] d...    58.898585: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.898594: dwc3_ep0: queueing request ed15e7c0 to ep0out length 5 state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.898605: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ae531400 size 00000005 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.898611: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.898613: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.898617: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.898620: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.898625: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.898628: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.898631: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.898634: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.898639: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.898642: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.898644: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.898648: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.898652: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.898655: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.898658: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.H.    58.898689: dwc3_readl: addr fa39c40c value 00000008
    irq/145-dwc3-249   [000] d.H.    58.898693: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.H.    58.898695: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.H.    58.898698: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.H.    58.898704: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.H.    58.898707: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.898892: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.898896: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.898903: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.898907: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ae531400 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.898913: dwc3_gadget_giveback: ep0out: req ed15e7c0 length 5/5 ==> 0
    irq/145-dwc3-249   [000] d...    58.898917: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.898922: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.898927: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.898931: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.898933: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.898937: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.898939: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.898942: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.898944: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.898950: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.898953: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.898955: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.898958: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.898961: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.898964: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.898967: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.898976: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.898979: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.898982: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.898985: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.898988: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.898991: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.899062: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.899065: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.899073: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.899074: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.899078: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.899081: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.899083: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.899086: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.899089: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.899094: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.899097: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.899100: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.899103: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.899106: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.899109: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.899112: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.899668: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.899680: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.899684: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.899688: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.899691: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.899693: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.899736: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.899740: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.899749: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.899752: dwc3_ctrl_req: bRequestType 80 bRequest 06 wValue 0f00 wIndex 0000 wLength 22
    irq/145-dwc3-249   [000] d...    58.899755: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.899764: dwc3_ep0: queueing request ed15e7c0 to ep0out length 22 state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.899774: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ae531400 size 00000016 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.899778: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.899781: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.899784: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.899790: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.899793: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.899796: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.899798: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.899801: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.899807: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.899810: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.899812: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.899818: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.899820: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.899824: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.899826: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.H.    58.899856: dwc3_readl: addr fa39c40c value 00000008
    irq/145-dwc3-249   [000] d.H.    58.899860: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.H.    58.899863: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.H.    58.899869: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.H.    58.899871: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.H.    58.899874: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.900052: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.900057: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.900062: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.900066: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ae531400 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.900072: dwc3_gadget_giveback: ep0out: req ed15e7c0 length 22/22 ==> 0
    irq/145-dwc3-249   [000] d...    58.900080: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.900084: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.900086: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.900089: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.900092: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.900095: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.900098: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.900101: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.900106: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.900108: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.900111: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.900114: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.900116: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.900119: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.900122: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.900128: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.900136: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.900139: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.900142: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.900145: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.900147: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.900150: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.900218: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.900223: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.900229: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.900231: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.900234: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.900237: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.900239: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.900242: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.900247: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.900250: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.900253: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.900255: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.900258: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.900261: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.900264: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.900269: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.900579: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.900591: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.900594: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.900597: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.900600: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.900602: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.900636: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.900644: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.900649: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.900652: dwc3_ctrl_req: bRequestType 80 bRequest 06 wValue 0200 wIndex 0000 wLength 256
    irq/145-dwc3-249   [000] d...    58.900655: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.900666: dwc3_ep0: queueing request ed15e7c0 to ep0out length 69 state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.900676: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ae531400 size 00000045 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.900681: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.900683: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.900689: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.900692: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.900694: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.900697: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.900701: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.900703: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.900709: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.900712: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.900716: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.900720: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.900722: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.900725: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.900728: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.900735: dwc3_readl: addr fa39c40c value 0000000c
    irq/145-dwc3-249   [000] d.h.    58.900739: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.900744: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.900747: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.900750: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.900753: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.900774: dwc3_event: event 000090c2
    irq/145-dwc3-249   [000] d...    58.900776: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.900780: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.900783: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.900785: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.900791: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.900793: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ae531400 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.900799: dwc3_gadget_giveback: ep0out: req ed15e7c0 length 69/69 ==> 0
    irq/145-dwc3-249   [000] d...    58.900804: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.900807: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.900809: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.900813: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.900815: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.900820: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.900822: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.900825: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.900828: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.900831: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.900834: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.900836: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.900841: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.900844: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.900847: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.900849: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.900883: dwc3_readl: addr fa39c40c value 00000004
          <idle>-0     [000] d.h.    58.900888: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.900890: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.900896: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.900899: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.900902: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.900984: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.900987: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.900993: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.900995: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.900999: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.901005: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.901007: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.901010: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.901013: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.901015: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.901018: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.901021: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.901026: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.901028: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.901031: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.901034: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.901119: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.901125: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.901127: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.901134: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.901136: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.901139: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.901164: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.901168: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.901172: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.901174: dwc3_ctrl_req: bRequestType 80 bRequest 06 wValue 0201 wIndex 0000 wLength 256
    irq/145-dwc3-249   [000] d...    58.901178: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.901186: dwc3_ep0: queueing request ed15e7c0 to ep0out length 32 state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.901196: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ae531400 size 00000020 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.901200: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.901203: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.901206: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.901209: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.901211: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.901214: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.901220: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.901222: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.901226: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.901230: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.901231: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.901235: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.901237: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.901240: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.901245: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.901252: dwc3_readl: addr fa39c40c value 00000008
    irq/145-dwc3-249   [000] d.h.    58.901255: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.901258: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.901261: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.901264: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.901266: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.901286: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.901290: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.901294: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.901296: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ae531400 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.901301: dwc3_gadget_giveback: ep0out: req ed15e7c0 length 32/32 ==> 0
    irq/145-dwc3-249   [000] d...    58.901304: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.901308: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.901309: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.901313: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.901317: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.901320: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.901322: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.901325: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.901327: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.901330: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.901332: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.901337: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.901340: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.901342: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.901345: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.901348: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.901354: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.901358: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.901363: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.901366: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.901368: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.901371: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.901419: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.901421: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.901426: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.901428: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.901435: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.901438: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.901440: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.901443: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.901446: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.901449: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.901452: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.901457: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.901459: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.901462: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.901465: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.901468: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.901548: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.901554: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.901560: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.901563: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.901566: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.901569: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.901594: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.901596: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.901601: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.901603: dwc3_ctrl_req: bRequestType 80 bRequest 00 wValue 0000 wIndex 0000 wLength 2
    irq/145-dwc3-249   [000] d...    58.901606: dwc3_ep0: USB_REQ_GET_STATUS
    irq/145-dwc3-249   [000] d...    58.901614: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ad1ae200 size 00000002 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.901617: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.901619: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.901623: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.901625: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.901628: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.901631: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.901636: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.901638: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.901641: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.901644: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.901646: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.901649: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.901651: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.901655: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.901660: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.901666: dwc3_readl: addr fa39c40c value 0000000c
    irq/145-dwc3-249   [000] d.h.    58.901670: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.901673: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.901676: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.901678: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.901681: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.901689: dwc3_event: event 000090c2
    irq/145-dwc3-249   [000] d...    58.901694: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.901697: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.901700: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.901702: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.901705: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.901707: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ad1ae200 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.901711: dwc3_gadget_giveback: ep0out: req ed517034 length 2/2 ==> 0
    irq/145-dwc3-249   [000] d...    58.901715: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.901718: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.901722: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.901725: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.901728: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.901730: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.901732: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.901735: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.901738: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.901743: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.901745: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.901748: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.901750: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.901753: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.901756: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.901758: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.901767: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.901770: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.901773: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.901776: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.901779: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.901781: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.901830: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.901832: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.901839: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.901841: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.901845: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.901848: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.901850: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.901853: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.901855: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.901860: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.901863: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.901866: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.901868: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.901871: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.901874: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.901876: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.901956: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.901961: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.901964: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.901967: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.901970: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.901973: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.901997: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.901999: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.902006: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.902008: dwc3_ctrl_req: bRequestType 81 bRequest 00 wValue 0000 wIndex 0000 wLength 2
    irq/145-dwc3-249   [000] d...    58.902011: dwc3_ep0: USB_REQ_GET_STATUS
    irq/145-dwc3-249   [000] d...    58.902015: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ad1ae200 size 00000002 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.902018: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.902021: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.902023: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.902026: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.902031: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.902034: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.902036: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.902039: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.902042: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.902045: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.902047: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.902050: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.902054: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.902057: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.902060: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.902066: dwc3_readl: addr fa39c40c value 00000008
    irq/145-dwc3-249   [000] d.h.    58.902070: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.902072: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.902075: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.902080: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.902083: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.902090: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.902092: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.902096: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.902098: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ad1ae200 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.902102: dwc3_gadget_giveback: ep0out: req ed517034 length 2/2 ==> 0
    irq/145-dwc3-249   [000] d...    58.902106: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.902109: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.902113: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.902116: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.902118: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.902121: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.902123: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.902126: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.902128: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.902133: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.902136: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.902139: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.902141: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.902144: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.902147: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.902149: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.902158: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.902161: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.902164: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.902167: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.902170: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.902172: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.902216: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.902219: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.902225: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.902227: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.902231: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.902234: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.902236: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.902239: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.902241: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.902246: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.902249: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.902251: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.902254: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.902257: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.902259: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.902262: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.903913: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.903926: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.903930: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.903933: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.903936: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.903939: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.903974: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.903978: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.903987: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.903990: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0000 wIndex 0000 wLength 0
    irq/145-dwc3-249   [000] d...    58.903994: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.904008: dwc3_gadget_giveback: ep1in: req ee718d40 length 0/4096 ==> -108
    irq/145-dwc3-249   [000] d...    58.904015: dwc3_free_request: ep1in: req ee718d40 length 0/4096 ==> -108
    irq/145-dwc3-249   [000] d...    58.904019: dwc3_readl: addr fa39c720 value 0000003f
    irq/145-dwc3-249   [000] d...    58.904023: dwc3_writel: addr fa39c720 value 00000037
    irq/145-dwc3-249   [000] d...    58.904035: dwc3_gadget_giveback: ep1out: req ee7180c0 length 0/4096 ==> -108
    irq/145-dwc3-249   [000] d...    58.904041: dwc3_free_request: ep1out: req ee7180c0 length 0/4096 ==> -108
    irq/145-dwc3-249   [000] d...    58.904044: dwc3_readl: addr fa39c720 value 00000037
    irq/145-dwc3-249   [000] d...    58.904047: dwc3_writel: addr fa39c720 value 00000033
    irq/145-dwc3-249   [000] d...    58.904053: dwc3_gadget_giveback: ep2in: req ee718cc0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904056: dwc3_free_request: ep2in: req ee718cc0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904060: dwc3_gadget_giveback: ep2in: req ee718c40 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904062: dwc3_free_request: ep2in: req ee718c40 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904068: dwc3_gadget_giveback: ep2in: req ee718bc0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904071: dwc3_free_request: ep2in: req ee718bc0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904074: dwc3_gadget_giveback: ep2in: req ee718b40 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904076: dwc3_free_request: ep2in: req ee718b40 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904080: dwc3_gadget_giveback: ep2in: req ee718ac0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904082: dwc3_free_request: ep2in: req ee718ac0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904085: dwc3_gadget_giveback: ep2in: req ee718a40 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904090: dwc3_free_request: ep2in: req ee718a40 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904093: dwc3_gadget_giveback: ep2in: req ee7189c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904095: dwc3_free_request: ep2in: req ee7189c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904098: dwc3_gadget_giveback: ep2in: req ee718940 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904101: dwc3_free_request: ep2in: req ee718940 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904104: dwc3_readl: addr fa39c720 value 00000033
    irq/145-dwc3-249   [000] d...    58.904107: dwc3_writel: addr fa39c720 value 00000013
    irq/145-dwc3-249   [000] d...    58.904117: dwc3_gadget_giveback: ep2out: req ee7188c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904119: dwc3_free_request: ep2out: req ee7188c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904123: dwc3_gadget_giveback: ep2out: req ee718840 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904126: dwc3_free_request: ep2out: req ee718840 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904130: dwc3_gadget_giveback: ep2out: req ee7187c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904132: dwc3_free_request: ep2out: req ee7187c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904136: dwc3_gadget_giveback: ep2out: req ee718740 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904141: dwc3_free_request: ep2out: req ee718740 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904145: dwc3_gadget_giveback: ep2out: req ee718040 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904148: dwc3_free_request: ep2out: req ee718040 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904152: dwc3_gadget_giveback: ep2out: req ee7185c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904154: dwc3_free_request: ep2out: req ee7185c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904158: dwc3_gadget_giveback: ep2out: req ee6752c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904160: dwc3_free_request: ep2out: req ee6752c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904167: dwc3_gadget_giveback: ep2out: req ee675cc0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904169: dwc3_free_request: ep2out: req ee675cc0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.904172: dwc3_readl: addr fa39c720 value 00000013
    irq/145-dwc3-249   [000] d...    58.904175: dwc3_writel: addr fa39c720 value 00000003
    irq/145-dwc3-249   [000] d...    58.904183: dwc3_gadget: Enabling ep1in-bulk
    irq/145-dwc3-249   [000] d...    58.904187: dwc3_gadget_ep_cmd: ep1in-bulk: cmd 'Set Endpoint Configuration' [1] params 00021004 06000700 00000000
    irq/145-dwc3-249   [000] d...    58.904189: dwc3_writel: addr fa39c838 value 00021004
    irq/145-dwc3-249   [000] d...    58.904194: dwc3_writel: addr fa39c834 value 06000700
    irq/145-dwc3-249   [000] d...    58.904197: dwc3_writel: addr fa39c830 value 00000000
    irq/145-dwc3-249   [000] d...    58.904200: dwc3_writel: addr fa39c83c value 00000401
    irq/145-dwc3-249   [000] d...    58.904203: dwc3_readl: addr fa39c83c value 00000001
    irq/145-dwc3-249   [000] d...    58.904205: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.904207: dwc3_gadget_ep_cmd: ep1in-bulk: cmd 'Set Endpoint Transfer Resource' [2] params 00000001 00000000 00000000
    irq/145-dwc3-249   [000] d...    58.904209: dwc3_writel: addr fa39c838 value 00000001
    irq/145-dwc3-249   [000] d...    58.904214: dwc3_writel: addr fa39c834 value 00000000
    irq/145-dwc3-249   [000] d...    58.904216: dwc3_writel: addr fa39c830 value 00000000
    irq/145-dwc3-249   [000] d...    58.904219: dwc3_writel: addr fa39c83c value 00000402
    irq/145-dwc3-249   [000] d...    58.904222: dwc3_readl: addr fa39c83c value 00190002
    irq/145-dwc3-249   [000] d...    58.904224: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.904227: dwc3_readl: addr fa39c720 value 00000003
    irq/145-dwc3-249   [000] d...    58.904229: dwc3_writel: addr fa39c720 value 0000000b
    irq/145-dwc3-249   [000] d...    58.904238: dwc3_alloc_request: ep1in-bulk: req ee675cc0 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.904251: dwc3_ep_queue: ep1in-bulk: req ee675cc0 length 0/4096 ==> 0
    irq/145-dwc3-249   [000] d...    58.904260: dwc3_gadget: Enabling ep1out-bulk
    irq/145-dwc3-249   [000] d...    58.904262: dwc3_gadget_ep_cmd: ep1out-bulk: cmd 'Set Endpoint Configuration' [1] params 00001004 04000700 00000000
    irq/145-dwc3-249   [000] d...    58.904264: dwc3_writel: addr fa39c828 value 00001004
    irq/145-dwc3-249   [000] d...    58.904267: dwc3_writel: addr fa39c824 value 04000700
    irq/145-dwc3-249   [000] d...    58.904270: dwc3_writel: addr fa39c820 value 00000000
    irq/145-dwc3-249   [000] d...    58.904275: dwc3_writel: addr fa39c82c value 00000401
    irq/145-dwc3-249   [000] d...    58.904278: dwc3_readl: addr fa39c82c value 00000001
    irq/145-dwc3-249   [000] d...    58.904280: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.904282: dwc3_gadget_ep_cmd: ep1out-bulk: cmd 'Set Endpoint Transfer Resource' [2] params 00000001 00000000 00000000
    irq/145-dwc3-249   [000] d...    58.904284: dwc3_writel: addr fa39c828 value 00000001
    irq/145-dwc3-249   [000] d...    58.904287: dwc3_writel: addr fa39c824 value 00000000
    irq/145-dwc3-249   [000] d...    58.904289: dwc3_writel: addr fa39c820 value 00000000
    irq/145-dwc3-249   [000] d...    58.904294: dwc3_writel: addr fa39c82c value 00000402
    irq/145-dwc3-249   [000] d...    58.904297: dwc3_readl: addr fa39c82c value 001a0002
    irq/145-dwc3-249   [000] d...    58.904299: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.904302: dwc3_readl: addr fa39c720 value 0000000b
    irq/145-dwc3-249   [000] d...    58.904304: dwc3_writel: addr fa39c720 value 0000000f
    irq/145-dwc3-249   [000] d...    58.904308: dwc3_alloc_request: ep1out-bulk: req ee6752c0 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.904317: dwc3_ep_queue: ep1out-bulk: req ee6752c0 length 0/4096 ==> 0
    irq/145-dwc3-249   [000] d...    58.904360: dwc3_ep0: queueing request ed15e7c0 to ep0out length 0 state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.904369: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.904373: dwc3_event: event 000020c2
    irq/145-dwc3-249   [000] d...    58.904375: dwc3_ep0: Transfer Not Ready while ep0in in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.904379: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.904382: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c33
    irq/145-dwc3-249   [000] d...    58.904386: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.904388: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.904393: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.904396: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.904399: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.904402: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.904405: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.904408: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.904411: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.904416: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.904419: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.H.    58.904575: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.H.    58.904583: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.H.    58.904586: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.H.    58.904590: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.H.    58.904592: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.H.    58.904598: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.904709: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.904713: dwc3_ep0: Transfer Complete while ep0in in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.904720: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.904723: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c32
    irq/145-dwc3-249   [000] d...    58.904728: dwc3_gadget_giveback: ep0out: req ed15e7c0 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.904733: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.904737: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.904742: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.904746: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.904748: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.904751: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.904754: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.904757: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.904760: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.904765: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.904768: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.904770: dwc3_writel: addr fa39c408 value 00000100
         testusb-252   [000] dnh.    58.907733: dwc3_readl: addr fa39c40c value 00000008
         testusb-252   [000] dnh.    58.907745: dwc3_readl: addr fa39c408 value 00000100
         testusb-252   [000] dnh.    58.907749: dwc3_writel: addr fa39c408 value 80000100
         testusb-252   [000] dnh.    58.907753: dwc3_readl: addr fa39c41c value 00000000
         testusb-252   [000] dnh.    58.907761: dwc3_readl: addr fa39c42c value 00000000
         testusb-252   [000] dnh.    58.907763: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.907864: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.907870: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.907879: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.907882: dwc3_ctrl_req: bRequestType 81 bRequest 0a wValue 0000 wIndex 0000 wLength 1
    irq/145-dwc3-249   [000] d...    58.907886: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.907897: dwc3_ep0: queueing request ed15e7c0 to ep0out length 1 state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.907909: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ae531400 size 00000001 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.907920: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.907922: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.907926: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.907929: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.907932: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.907935: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.907939: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.907944: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.907950: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.907953: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.907955: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.907959: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.907962: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.907966: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.907968: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.907982: dwc3_readl: addr fa39c40c value 00000008
    irq/145-dwc3-249   [000] d.h.    58.907985: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.907988: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.907991: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.907994: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.907996: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.908005: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.908007: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.908014: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.908017: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ae531400 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.908023: dwc3_gadget_giveback: ep0out: req ed15e7c0 length 1/1 ==> 0
    irq/145-dwc3-249   [000] d...    58.908027: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.908030: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.908032: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.908036: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.908039: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.908044: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.908046: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.908049: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.908051: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.908054: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.908057: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.908060: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.908065: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.908067: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.908070: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.908073: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.908080: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.908083: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.908085: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.908091: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.908094: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.908097: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.908186: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.908190: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.908195: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.908197: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.908201: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.908207: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.908209: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.908212: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.908215: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.908218: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.908221: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.908224: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.908229: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.908232: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.908235: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.908238: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.912940: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.912960: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.912965: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.912973: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.912976: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.912979: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.913025: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.913031: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.913039: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.913042: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0001 wIndex 0000 wLength 0
    irq/145-dwc3-249   [000] d...    58.913046: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.913064: dwc3_gadget_giveback: ep1in: req ee675cc0 length 0/4096 ==> -108
    irq/145-dwc3-249   [000] d...    58.913075: dwc3_free_request: ep1in: req ee675cc0 length 0/4096 ==> -108
    irq/145-dwc3-249   [000] d...    58.913080: dwc3_readl: addr fa39c720 value 0000000f
    irq/145-dwc3-249   [000] d...    58.913084: dwc3_writel: addr fa39c720 value 00000007
    irq/145-dwc3-249   [000] d...    58.913096: dwc3_gadget_giveback: ep1out: req ee6752c0 length 0/4096 ==> -108
    irq/145-dwc3-249   [000] d...    58.913100: dwc3_free_request: ep1out: req ee6752c0 length 0/4096 ==> -108
    irq/145-dwc3-249   [000] d...    58.913103: dwc3_readl: addr fa39c720 value 00000007
    irq/145-dwc3-249   [000] d...    58.913106: dwc3_writel: addr fa39c720 value 00000003
    irq/145-dwc3-249   [000] d...    58.913118: dwc3_gadget: Enabling ep1in-bulk
    irq/145-dwc3-249   [000] d...    58.913124: dwc3_gadget_ep_cmd: ep1in-bulk: cmd 'Set Endpoint Configuration' [1] params 00021004 06000700 00000000
    irq/145-dwc3-249   [000] d...    58.913127: dwc3_writel: addr fa39c838 value 00021004
    irq/145-dwc3-249   [000] d...    58.913130: dwc3_writel: addr fa39c834 value 06000700
    irq/145-dwc3-249   [000] d...    58.913133: dwc3_writel: addr fa39c830 value 00000000
    irq/145-dwc3-249   [000] d...    58.913135: dwc3_writel: addr fa39c83c value 00000401
    irq/145-dwc3-249   [000] d...    58.913139: dwc3_readl: addr fa39c83c value 00000001
    irq/145-dwc3-249   [000] d...    58.913143: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.913146: dwc3_gadget_ep_cmd: ep1in-bulk: cmd 'Set Endpoint Transfer Resource' [2] params 00000001 00000000 00000000
    irq/145-dwc3-249   [000] d...    58.913148: dwc3_writel: addr fa39c838 value 00000001
    irq/145-dwc3-249   [000] d...    58.913150: dwc3_writel: addr fa39c834 value 00000000
    irq/145-dwc3-249   [000] d...    58.913153: dwc3_writel: addr fa39c830 value 00000000
    irq/145-dwc3-249   [000] d...    58.913155: dwc3_writel: addr fa39c83c value 00000402
    irq/145-dwc3-249   [000] d...    58.913158: dwc3_readl: addr fa39c83c value 001b0002
    irq/145-dwc3-249   [000] d...    58.913163: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.913165: dwc3_readl: addr fa39c720 value 00000003
    irq/145-dwc3-249   [000] d...    58.913168: dwc3_writel: addr fa39c720 value 0000000b
    irq/145-dwc3-249   [000] d...    58.913175: dwc3_alloc_request: ep1in-bulk: req ee6752c0 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913188: dwc3_ep_queue: ep1in-bulk: req ee6752c0 length 0/4096 ==> 0
    irq/145-dwc3-249   [000] d...    58.913198: dwc3_gadget: Enabling ep1out-bulk
    irq/145-dwc3-249   [000] d...    58.913200: dwc3_gadget_ep_cmd: ep1out-bulk: cmd 'Set Endpoint Configuration' [1] params 00001004 04000700 00000000
    irq/145-dwc3-249   [000] d...    58.913205: dwc3_writel: addr fa39c828 value 00001004
    irq/145-dwc3-249   [000] d...    58.913208: dwc3_writel: addr fa39c824 value 04000700
    irq/145-dwc3-249   [000] d...    58.913211: dwc3_writel: addr fa39c820 value 00000000
    irq/145-dwc3-249   [000] d...    58.913213: dwc3_writel: addr fa39c82c value 00000401
    irq/145-dwc3-249   [000] d...    58.913216: dwc3_readl: addr fa39c82c value 00000001
    irq/145-dwc3-249   [000] d...    58.913219: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.913221: dwc3_gadget_ep_cmd: ep1out-bulk: cmd 'Set Endpoint Transfer Resource' [2] params 00000001 00000000 00000000
    irq/145-dwc3-249   [000] d...    58.913225: dwc3_writel: addr fa39c828 value 00000001
    irq/145-dwc3-249   [000] d...    58.913228: dwc3_writel: addr fa39c824 value 00000000
    irq/145-dwc3-249   [000] d...    58.913230: dwc3_writel: addr fa39c820 value 00000000
    irq/145-dwc3-249   [000] d...    58.913233: dwc3_writel: addr fa39c82c value 00000402
    irq/145-dwc3-249   [000] d...    58.913235: dwc3_readl: addr fa39c82c value 001c0002
    irq/145-dwc3-249   [000] d...    58.913238: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.913240: dwc3_readl: addr fa39c720 value 0000000b
    irq/145-dwc3-249   [000] d...    58.913245: dwc3_writel: addr fa39c720 value 0000000f
    irq/145-dwc3-249   [000] d...    58.913248: dwc3_alloc_request: ep1out-bulk: req ee675cc0 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913257: dwc3_ep_queue: ep1out-bulk: req ee675cc0 length 0/4096 ==> 0
    irq/145-dwc3-249   [000] d...    58.913265: dwc3_gadget: Enabling ep2in-isoc
    irq/145-dwc3-249   [000] d...    58.913268: dwc3_gadget_ep_cmd: ep2in-isoc: cmd 'Set Endpoint Configuration' [1] params 00042002 0a030700 00000000
    irq/145-dwc3-249   [000] d...    58.913270: dwc3_writel: addr fa39c858 value 00042002
    irq/145-dwc3-249   [000] d...    58.913273: dwc3_writel: addr fa39c854 value 0a030700
    irq/145-dwc3-249   [000] d...    58.913278: dwc3_writel: addr fa39c850 value 00000000
    irq/145-dwc3-249   [000] d...    58.913281: dwc3_writel: addr fa39c85c value 00000401
    irq/145-dwc3-249   [000] d...    58.913283: dwc3_readl: addr fa39c85c value 00000001
    irq/145-dwc3-249   [000] d...    58.913286: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.913288: dwc3_gadget_ep_cmd: ep2in-isoc: cmd 'Set Endpoint Transfer Resource' [2] params 00000001 00000000 00000000
    irq/145-dwc3-249   [000] d...    58.913290: dwc3_writel: addr fa39c858 value 00000001
    irq/145-dwc3-249   [000] d...    58.913292: dwc3_writel: addr fa39c854 value 00000000
    irq/145-dwc3-249   [000] d...    58.913297: dwc3_writel: addr fa39c850 value 00000000
    irq/145-dwc3-249   [000] d...    58.913300: dwc3_writel: addr fa39c85c value 00000402
    irq/145-dwc3-249   [000] d...    58.913303: dwc3_readl: addr fa39c85c value 001d0002
    irq/145-dwc3-249   [000] d...    58.913305: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.913308: dwc3_readl: addr fa39c720 value 0000000f
    irq/145-dwc3-249   [000] d...    58.913310: dwc3_writel: addr fa39c720 value 0000002f
    irq/145-dwc3-249   [000] d...    58.913315: dwc3_alloc_request: ep2in-isoc: req ee718740 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913323: dwc3_ep_queue: ep2in-isoc: req ee718740 length 0/1024 ==> 0
    irq/145-dwc3-249   [000] d...    58.913328: dwc3_alloc_request: ep2in-isoc: req ee7187c0 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913332: dwc3_ep_queue: ep2in-isoc: req ee7187c0 length 0/1024 ==> 0
    irq/145-dwc3-249   [000] d...    58.913336: dwc3_alloc_request: ep2in-isoc: req ee718840 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913339: dwc3_ep_queue: ep2in-isoc: req ee718840 length 0/1024 ==> 0
    irq/145-dwc3-249   [000] d...    58.913343: dwc3_alloc_request: ep2in-isoc: req ee7188c0 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913347: dwc3_ep_queue: ep2in-isoc: req ee7188c0 length 0/1024 ==> 0
    irq/145-dwc3-249   [000] d...    58.913353: dwc3_alloc_request: ep2in-isoc: req ee718940 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913356: dwc3_ep_queue: ep2in-isoc: req ee718940 length 0/1024 ==> 0
    irq/145-dwc3-249   [000] d...    58.913360: dwc3_alloc_request: ep2in-isoc: req ee7189c0 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913364: dwc3_ep_queue: ep2in-isoc: req ee7189c0 length 0/1024 ==> 0
    irq/145-dwc3-249   [000] d...    58.913367: dwc3_alloc_request: ep2in-isoc: req ee718a40 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913371: dwc3_ep_queue: ep2in-isoc: req ee718a40 length 0/1024 ==> 0
    irq/145-dwc3-249   [000] d...    58.913375: dwc3_alloc_request: ep2in-isoc: req ee718ac0 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913381: dwc3_ep_queue: ep2in-isoc: req ee718ac0 length 0/1024 ==> 0
    irq/145-dwc3-249   [000] d...    58.913387: dwc3_gadget: Enabling ep2out-isoc
    irq/145-dwc3-249   [000] d...    58.913389: dwc3_gadget_ep_cmd: ep2out-isoc: cmd 'Set Endpoint Configuration' [1] params 00002002 08030700 00000000
    irq/145-dwc3-249   [000] d...    58.913391: dwc3_writel: addr fa39c848 value 00002002
    irq/145-dwc3-249   [000] d...    58.913394: dwc3_writel: addr fa39c844 value 08030700
    irq/145-dwc3-249   [000] d...    58.913397: dwc3_writel: addr fa39c840 value 00000000
    irq/145-dwc3-249   [000] d...    58.913399: dwc3_writel: addr fa39c84c value 00000401
    irq/145-dwc3-249   [000] d...    58.913404: dwc3_readl: addr fa39c84c value 00000001
    irq/145-dwc3-249   [000] d...    58.913407: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.913409: dwc3_gadget_ep_cmd: ep2out-isoc: cmd 'Set Endpoint Transfer Resource' [2] params 00000001 00000000 00000000
    irq/145-dwc3-249   [000] d...    58.913411: dwc3_writel: addr fa39c848 value 00000001
    irq/145-dwc3-249   [000] d...    58.913413: dwc3_writel: addr fa39c844 value 00000000
    irq/145-dwc3-249   [000] d...    58.913416: dwc3_writel: addr fa39c840 value 00000000
    irq/145-dwc3-249   [000] d...    58.913418: dwc3_writel: addr fa39c84c value 00000402
    irq/145-dwc3-249   [000] d...    58.913423: dwc3_readl: addr fa39c84c value 001e0002
    irq/145-dwc3-249   [000] d...    58.913425: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.913428: dwc3_readl: addr fa39c720 value 0000002f
    irq/145-dwc3-249   [000] d...    58.913431: dwc3_writel: addr fa39c720 value 0000003f
    irq/145-dwc3-249   [000] d...    58.913435: dwc3_alloc_request: ep2out-isoc: req ee718b40 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913439: dwc3_ep_queue: ep2out-isoc: req ee718b40 length 0/1024 ==> 0
    irq/145-dwc3-249   [000] d...    58.913443: dwc3_alloc_request: ep2out-isoc: req ee718bc0 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913449: dwc3_ep_queue: ep2out-isoc: req ee718bc0 length 0/1024 ==> 0
    irq/145-dwc3-249   [000] d...    58.913453: dwc3_alloc_request: ep2out-isoc: req ee718c40 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913456: dwc3_ep_queue: ep2out-isoc: req ee718c40 length 0/1024 ==> 0
    irq/145-dwc3-249   [000] d...    58.913460: dwc3_alloc_request: ep2out-isoc: req ee718cc0 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913464: dwc3_ep_queue: ep2out-isoc: req ee718cc0 length 0/1024 ==> 0
    irq/145-dwc3-249   [000] d...    58.913468: dwc3_alloc_request: ep2out-isoc: req ee7180c0 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913471: dwc3_ep_queue: ep2out-isoc: req ee7180c0 length 0/1024 ==> 0
    irq/145-dwc3-249   [000] d...    58.913477: dwc3_alloc_request: ep2out-isoc: req ee718d40 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913480: dwc3_ep_queue: ep2out-isoc: req ee718d40 length 0/1024 ==> 0
    irq/145-dwc3-249   [000] d...    58.913484: dwc3_alloc_request: ep2out-isoc: req ee6758c0 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913487: dwc3_ep_queue: ep2out-isoc: req ee6758c0 length 0/1024 ==> 0
    irq/145-dwc3-249   [000] d...    58.913491: dwc3_alloc_request: ep2out-isoc: req ee675940 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913494: dwc3_ep_queue: ep2out-isoc: req ee675940 length 0/1024 ==> 0
    irq/145-dwc3-249   [000] d...    58.913533: dwc3_ep0: queueing request ed15e7c0 to ep0out length 0 state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.913547: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.913550: dwc3_event: event 000020c2
    irq/145-dwc3-249   [000] d...    58.913552: dwc3_ep0: Transfer Not Ready while ep0in in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.913556: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.913560: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c33
    irq/145-dwc3-249   [000] d...    58.913564: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.913566: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.913569: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.913574: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.913577: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.913580: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.913582: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.913586: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.913589: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.913592: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.913597: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.913610: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.913614: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.913616: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.913620: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.913622: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.913625: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.913709: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.913716: dwc3_ep0: Transfer Complete while ep0in in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.913722: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.913725: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c32
    irq/145-dwc3-249   [000] d...    58.913729: dwc3_gadget_giveback: ep0out: req ed15e7c0 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.913735: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.913738: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.913741: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.913747: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.913750: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.913752: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.913755: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.913758: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.913761: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.913763: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.913768: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.913771: dwc3_writel: addr fa39c408 value 00000100
         testusb-252   [000] dnh.    58.915376: dwc3_readl: addr fa39c40c value 00000008
         testusb-252   [000] dnh.    58.915387: dwc3_readl: addr fa39c408 value 00000100
         testusb-252   [000] dnh.    58.915390: dwc3_writel: addr fa39c408 value 80000100
         testusb-252   [000] dnh.    58.915394: dwc3_readl: addr fa39c41c value 00000000
         testusb-252   [000] dnh.    58.915397: dwc3_readl: addr fa39c42c value 00000000
         testusb-252   [000] dnh.    58.915403: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.915466: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.915470: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.915477: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.915480: dwc3_ctrl_req: bRequestType 81 bRequest 0a wValue 0000 wIndex 0000 wLength 1
    irq/145-dwc3-249   [000] d...    58.915484: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.915492: dwc3_ep0: queueing request ed15e7c0 to ep0out length 1 state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.915502: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ae531400 size 00000001 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.915507: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.915513: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.915516: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.915519: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.915522: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.915525: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.915527: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.915530: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.915538: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.915542: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.915543: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.915547: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.915550: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.915553: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.915556: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.915564: dwc3_readl: addr fa39c40c value 00000008
    irq/145-dwc3-249   [000] d.h.    58.915570: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.915573: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.915576: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.915579: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.915581: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.915591: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.915593: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.915596: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.915602: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ae531400 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.915608: dwc3_gadget_giveback: ep0out: req ed15e7c0 length 1/1 ==> 0
    irq/145-dwc3-249   [000] d...    58.915612: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.915615: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.915617: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.915620: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.915623: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.915626: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.915630: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.915633: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.915636: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.915638: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.915641: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.915644: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.915646: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.915651: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.915654: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.915656: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.915663: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.915666: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.915669: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.915672: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.915677: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.915680: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.915749: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.915753: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.915757: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.915760: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.915763: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.915767: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.915772: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.915775: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.915778: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.915780: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.915784: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.915786: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.915789: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.915794: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.915797: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.915800: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.917154: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.917171: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.917175: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.917178: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.917186: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.917189: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.917241: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.917246: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.917254: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.917258: dwc3_ctrl_req: bRequestType 80 bRequest 08 wValue 0000 wIndex 0000 wLength 1
    irq/145-dwc3-249   [000] d...    58.917262: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.917272: dwc3_ep0: queueing request ed15e7c0 to ep0out length 1 state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.917284: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ae531400 size 00000001 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.917293: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.917296: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.917300: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.917303: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.917305: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.917308: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.917312: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.917318: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.917323: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.917326: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.917328: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.917332: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.917334: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.917338: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.917340: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.H.    58.917380: dwc3_readl: addr fa39c40c value 0000000c
    irq/145-dwc3-249   [000] d.H.    58.917385: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.H.    58.917388: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.H.    58.917391: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.H.    58.917394: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.H.    58.917397: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.917623: dwc3_event: event 000090c2
    irq/145-dwc3-249   [000] d...    58.917628: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.917639: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.917644: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.917645: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.917649: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.917651: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ae531400 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.917659: dwc3_gadget_giveback: ep0out: req ed15e7c0 length 1/1 ==> 0
    irq/145-dwc3-249   [000] d...    58.917664: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.917667: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.917669: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.917675: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.917678: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.917681: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.917683: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.917686: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.917689: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.917691: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.917697: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.917700: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.917702: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.917705: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.917708: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.917711: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.917720: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.917725: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.917728: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.917731: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.917734: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.917736: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.917815: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.917819: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.917824: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.917830: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.917834: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.917837: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.917839: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.917843: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.917846: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.917848: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.917853: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.917856: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.917858: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.917861: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.917864: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.917867: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.918487: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.918506: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.918509: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.918512: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.918515: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.918518: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.918565: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.918569: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.918575: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.918578: dwc3_ctrl_req: bRequestType 80 bRequest 06 wValue 0100 wIndex 0000 wLength 18
    irq/145-dwc3-249   [000] d...    58.918585: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.918593: dwc3_ep0: queueing request ed15e7c0 to ep0out length 18 state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.918604: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ae531400 size 00000012 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.918610: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.918612: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.918616: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.918618: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.918624: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.918627: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.918630: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.918633: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.918639: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.918642: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.918644: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.918647: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.918652: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.918655: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.918658: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.H.    58.918687: dwc3_readl: addr fa39c40c value 0000000c
    irq/145-dwc3-249   [000] d.H.    58.918692: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.H.    58.918695: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.H.    58.918698: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.H.    58.918704: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.H.    58.918706: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.918887: dwc3_event: event 000090c2
    irq/145-dwc3-249   [000] d...    58.918892: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.918898: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.918902: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.918904: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.918907: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.918910: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ae531400 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.918919: dwc3_gadget_giveback: ep0out: req ed15e7c0 length 18/18 ==> 0
    irq/145-dwc3-249   [000] d...    58.918924: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.918927: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.918929: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.918932: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.918935: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.918939: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.918941: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.918947: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.918949: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.918952: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.918955: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.918958: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.918960: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.918963: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.918968: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.918971: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.918978: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.918981: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.918984: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.918987: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.918990: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.918995: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.919067: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.919070: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.919075: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.919077: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.919081: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.919084: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.919086: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.919092: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.919095: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.919098: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.919101: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.919103: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.919106: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.919109: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.919114: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.919116: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.919660: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.919673: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.919677: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.919680: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.919683: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.919690: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.919731: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.919735: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.919741: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.919744: dwc3_ctrl_req: bRequestType 80 bRequest 06 wValue 0f00 wIndex 0000 wLength 5
    irq/145-dwc3-249   [000] d...    58.919747: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.919756: dwc3_ep0: queueing request ed15e7c0 to ep0out length 5 state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.919766: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ae531400 size 00000005 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.919771: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.919776: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.919779: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.919782: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.919784: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.919787: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.919791: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.919793: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.919801: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.919804: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.919805: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.919809: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.919812: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.919815: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.919818: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.H.    58.919846: dwc3_readl: addr fa39c40c value 0000000c
    irq/145-dwc3-249   [000] d.H.    58.919853: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.H.    58.919856: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.H.    58.919858: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.H.    58.919861: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.H.    58.919864: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.920044: dwc3_event: event 000090c2
    irq/145-dwc3-249   [000] d...    58.920048: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.920054: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.920057: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.920062: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.920065: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.920068: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ae531400 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.920074: dwc3_gadget_giveback: ep0out: req ed15e7c0 length 5/5 ==> 0
    irq/145-dwc3-249   [000] d...    58.920079: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.920083: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.920084: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.920087: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.920092: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.920096: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.920098: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.920101: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.920104: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.920106: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.920109: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.920114: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.920117: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.920119: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.920122: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.920125: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.920132: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.920135: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.920141: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.920144: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.920146: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.920149: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.920219: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.920222: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.920228: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.920230: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.920236: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.920239: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.920241: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.920244: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.920247: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.920250: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.920252: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.920257: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.920260: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.920263: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.920265: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.920268: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.920583: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.920592: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.920600: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.920603: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.920606: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.920608: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.920646: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.920649: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.920654: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.920657: dwc3_ctrl_req: bRequestType 80 bRequest 06 wValue 0f00 wIndex 0000 wLength 22
    irq/145-dwc3-249   [000] d...    58.920660: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.920670: dwc3_ep0: queueing request ed15e7c0 to ep0out length 22 state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.920680: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ae531400 size 00000016 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.920685: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.920687: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.920690: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.920693: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.920696: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.920701: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.920704: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.920707: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.920712: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.920715: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.920717: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.920721: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.920723: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.920728: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.920731: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.920739: dwc3_readl: addr fa39c40c value 00000008
    irq/145-dwc3-249   [000] d.h.    58.920742: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.920745: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.920748: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.920751: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.920756: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.920764: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.920766: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.920769: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.920772: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ae531400 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.920777: dwc3_gadget_giveback: ep0out: req ed15e7c0 length 22/22 ==> 0
    irq/145-dwc3-249   [000] d...    58.920781: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.920784: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.920785: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.920791: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.920793: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.920796: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.920798: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.920801: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.920803: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.920806: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.920812: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.920814: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.920817: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.920819: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.920822: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.920824: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.920831: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.920837: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.920839: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.920843: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.920845: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.920848: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.920911: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.920914: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.920919: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.920924: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.920927: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.920931: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.920933: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.920936: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.920939: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.920942: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.920947: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.920949: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.920952: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.920955: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.920957: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.920960: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.921047: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.921055: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.921059: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.921062: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.921065: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.921068: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.921095: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.921098: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.921102: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.921104: dwc3_ctrl_req: bRequestType 80 bRequest 06 wValue 0200 wIndex 0000 wLength 256
    irq/145-dwc3-249   [000] d...    58.921110: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.921120: dwc3_ep0: queueing request ed15e7c0 to ep0out length 69 state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.921128: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ae531400 size 00000045 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.921132: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.921134: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.921137: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.921140: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.921146: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.921148: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.921151: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.921154: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.921159: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.921162: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.921164: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.921168: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.921172: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.921175: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.921178: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.921185: dwc3_readl: addr fa39c40c value 0000000c
    irq/145-dwc3-249   [000] d.h.    58.921188: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.921191: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.921194: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.921199: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.921201: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.921221: dwc3_event: event 000090c2
    irq/145-dwc3-249   [000] d...    58.921223: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.921227: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.921230: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.921232: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.921235: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.921238: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ae531400 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.921245: dwc3_gadget_giveback: ep0out: req ed15e7c0 length 69/69 ==> 0
    irq/145-dwc3-249   [000] d...    58.921249: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.921252: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.921254: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.921257: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.921259: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.921263: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.921265: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.921270: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.921273: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.921275: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.921278: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.921281: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.921283: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.921286: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.921291: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.921294: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.921301: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.921304: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.921306: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.921309: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.921312: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.921317: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.921367: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.921370: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.921374: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.921377: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.921380: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.921383: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.921385: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.921391: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.921394: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.921396: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.921399: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.921402: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.921404: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.921407: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.921412: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.921415: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.921495: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.921502: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.921505: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.921508: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.921511: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.921516: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.921540: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.921543: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.921547: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.921549: dwc3_ctrl_req: bRequestType 80 bRequest 06 wValue 0201 wIndex 0000 wLength 256
    irq/145-dwc3-249   [000] d...    58.921553: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.921560: dwc3_ep0: queueing request ed15e7c0 to ep0out length 32 state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.921567: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ae531400 size 00000020 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.921570: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.921575: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.921578: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.921581: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.921583: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.921586: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.921589: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.921591: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.921599: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.921602: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.921603: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.921607: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.921609: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.921612: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.921615: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.921622: dwc3_readl: addr fa39c40c value 0000000c
    irq/145-dwc3-249   [000] d.h.    58.921628: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.921630: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.921633: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.921636: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.921639: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.921656: dwc3_event: event 000090c2
    irq/145-dwc3-249   [000] d...    58.921659: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.921663: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.921666: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.921670: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.921673: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.921675: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ae531400 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.921680: dwc3_gadget_giveback: ep0out: req ed15e7c0 length 32/32 ==> 0
    irq/145-dwc3-249   [000] d...    58.921684: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.921687: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.921689: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.921692: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.921696: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.921699: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.921701: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.921704: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.921706: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.921709: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.921712: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.921716: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.921719: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.921721: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.921724: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.921727: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.921754: dwc3_readl: addr fa39c40c value 00000004
          <idle>-0     [000] d.h.    58.921758: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.921764: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.921767: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.921770: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.921773: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.921837: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.921840: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.921845: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.921847: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.921854: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.921857: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.921859: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.921862: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.921864: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.921867: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.921870: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.921875: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.921877: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.921880: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.921883: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.921886: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.921960: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.921966: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.921972: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.921975: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.921978: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.921981: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.922004: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.922006: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.922011: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.922013: dwc3_ctrl_req: bRequestType 80 bRequest 00 wValue 0000 wIndex 0000 wLength 2
    irq/145-dwc3-249   [000] d...    58.922017: dwc3_ep0: USB_REQ_GET_STATUS
    irq/145-dwc3-249   [000] d...    58.922024: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ad1ae200 size 00000002 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.922027: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.922030: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.922033: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.922035: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.922038: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.922041: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.922046: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.922048: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.922051: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.922054: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.922056: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.922059: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.922061: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.922064: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.922069: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.922076: dwc3_readl: addr fa39c40c value 0000000c
    irq/145-dwc3-249   [000] d.h.    58.922080: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.922082: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.922085: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.922088: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.922091: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.922098: dwc3_event: event 000090c2
    irq/145-dwc3-249   [000] d...    58.922102: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.922105: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.922108: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.922110: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.922113: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.922115: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ad1ae200 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.922120: dwc3_gadget_giveback: ep0out: req ed517034 length 2/2 ==> 0
    irq/145-dwc3-249   [000] d...    58.922123: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.922126: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.922130: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.922133: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.922135: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.922138: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.922140: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.922143: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.922145: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.922150: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.922153: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.922155: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.922158: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.922161: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.922163: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.922166: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.922174: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.922177: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.922180: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.922183: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.922186: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.922188: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.922231: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.922234: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.922241: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.922243: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.922247: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.922250: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.922252: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.922255: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.922257: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.922262: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.922265: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.922267: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.922270: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.922273: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.922276: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.922278: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.922354: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.922360: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.922363: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.922366: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.922369: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.922372: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.922396: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.922398: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.922405: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.922407: dwc3_ctrl_req: bRequestType 81 bRequest 00 wValue 0000 wIndex 0000 wLength 2
    irq/145-dwc3-249   [000] d...    58.922410: dwc3_ep0: USB_REQ_GET_STATUS
    irq/145-dwc3-249   [000] d...    58.922413: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ad1ae200 size 00000002 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.922417: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.922419: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.922422: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.922425: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.922430: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.922433: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.922435: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.922438: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.922441: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.922444: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.922445: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.922448: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.922452: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.922455: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.922458: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.922465: dwc3_readl: addr fa39c40c value 0000000c
    irq/145-dwc3-249   [000] d.h.    58.922468: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.922471: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.922474: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.922479: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.922481: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.922490: dwc3_event: event 000090c2
    irq/145-dwc3-249   [000] d...    58.922492: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.922496: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.922499: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.922500: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.922503: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.922505: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ad1ae200 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.922512: dwc3_gadget_giveback: ep0out: req ed517034 length 2/2 ==> 0
    irq/145-dwc3-249   [000] d...    58.922515: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.922518: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.922520: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.922523: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.922525: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.922528: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.922530: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.922535: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.922538: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.922540: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.922543: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.922546: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.922548: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.922551: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.922556: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.922558: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.922565: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.922568: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.922571: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.922574: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.922577: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.922582: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.922623: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.922625: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.922629: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.922631: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.922634: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.922637: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.922640: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.922645: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.922648: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.922650: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.922653: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.922656: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.922658: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.922661: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.922666: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.922669: dwc3_writel: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.923901: dwc3_readl: addr fa39c40c value 00000008
          <idle>-0     [000] d.h.    58.923914: dwc3_readl: addr fa39c408 value 00000100
          <idle>-0     [000] d.h.    58.923917: dwc3_writel: addr fa39c408 value 80000100
          <idle>-0     [000] d.h.    58.923920: dwc3_readl: addr fa39c41c value 00000000
          <idle>-0     [000] d.h.    58.923923: dwc3_readl: addr fa39c42c value 00000000
          <idle>-0     [000] d.h.    58.923929: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.923964: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.923969: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.923975: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.923977: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0000 wIndex 0000 wLength 0
    irq/145-dwc3-249   [000] d...    58.923981: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.923995: dwc3_gadget_giveback: ep1in: req ee6752c0 length 0/4096 ==> -108
    irq/145-dwc3-249   [000] d...    58.924003: dwc3_free_request: ep1in: req ee6752c0 length 0/4096 ==> -108
    irq/145-dwc3-249   [000] d...    58.924007: dwc3_readl: addr fa39c720 value 0000003f
    irq/145-dwc3-249   [000] d...    58.924013: dwc3_writel: addr fa39c720 value 00000037
    irq/145-dwc3-249   [000] d...    58.924025: dwc3_gadget_giveback: ep1out: req ee675cc0 length 0/4096 ==> -108
    irq/145-dwc3-249   [000] d...    58.924028: dwc3_free_request: ep1out: req ee675cc0 length 0/4096 ==> -108
    irq/145-dwc3-249   [000] d...    58.924031: dwc3_readl: addr fa39c720 value 00000037
    irq/145-dwc3-249   [000] d...    58.924034: dwc3_writel: addr fa39c720 value 00000033
    irq/145-dwc3-249   [000] d...    58.924040: dwc3_gadget_giveback: ep2in: req ee718740 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924044: dwc3_free_request: ep2in: req ee718740 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924050: dwc3_gadget_giveback: ep2in: req ee7187c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924053: dwc3_free_request: ep2in: req ee7187c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924056: dwc3_gadget_giveback: ep2in: req ee718840 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924059: dwc3_free_request: ep2in: req ee718840 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924062: dwc3_gadget_giveback: ep2in: req ee7188c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924064: dwc3_free_request: ep2in: req ee7188c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924067: dwc3_gadget_giveback: ep2in: req ee718940 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924072: dwc3_free_request: ep2in: req ee718940 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924075: dwc3_gadget_giveback: ep2in: req ee7189c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924078: dwc3_free_request: ep2in: req ee7189c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924081: dwc3_gadget_giveback: ep2in: req ee718a40 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924083: dwc3_free_request: ep2in: req ee718a40 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924086: dwc3_gadget_giveback: ep2in: req ee718ac0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924089: dwc3_free_request: ep2in: req ee718ac0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924095: dwc3_readl: addr fa39c720 value 00000033
    irq/145-dwc3-249   [000] d...    58.924098: dwc3_writel: addr fa39c720 value 00000013
    irq/145-dwc3-249   [000] d...    58.924104: dwc3_gadget_giveback: ep2out: req ee718b40 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924107: dwc3_free_request: ep2out: req ee718b40 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924111: dwc3_gadget_giveback: ep2out: req ee718bc0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924114: dwc3_free_request: ep2out: req ee718bc0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924118: dwc3_gadget_giveback: ep2out: req ee718c40 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924123: dwc3_free_request: ep2out: req ee718c40 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924127: dwc3_gadget_giveback: ep2out: req ee718cc0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924130: dwc3_free_request: ep2out: req ee718cc0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924134: dwc3_gadget_giveback: ep2out: req ee7180c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924136: dwc3_free_request: ep2out: req ee7180c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924141: dwc3_gadget_giveback: ep2out: req ee718d40 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924143: dwc3_free_request: ep2out: req ee718d40 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924150: dwc3_gadget_giveback: ep2out: req ee6758c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924152: dwc3_free_request: ep2out: req ee6758c0 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924156: dwc3_gadget_giveback: ep2out: req ee675940 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924159: dwc3_free_request: ep2out: req ee675940 length 0/1024 ==> -108
    irq/145-dwc3-249   [000] d...    58.924161: dwc3_readl: addr fa39c720 value 00000013
    irq/145-dwc3-249   [000] d...    58.924164: dwc3_writel: addr fa39c720 value 00000003
    irq/145-dwc3-249   [000] d...    58.924172: dwc3_gadget: Enabling ep1in-bulk
    irq/145-dwc3-249   [000] d...    58.924180: dwc3_gadget_ep_cmd: ep1in-bulk: cmd 'Set Endpoint Configuration' [1] params 00021004 06000700 00000000
    irq/145-dwc3-249   [000] d...    58.924182: dwc3_writel: addr fa39c838 value 00021004
    irq/145-dwc3-249   [000] d...    58.924186: dwc3_writel: addr fa39c834 value 06000700
    irq/145-dwc3-249   [000] d...    58.924188: dwc3_writel: addr fa39c830 value 00000000
    irq/145-dwc3-249   [000] d...    58.924191: dwc3_writel: addr fa39c83c value 00000401
    irq/145-dwc3-249   [000] d...    58.924194: dwc3_readl: addr fa39c83c value 00000001
    irq/145-dwc3-249   [000] d...    58.924196: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.924202: dwc3_gadget_ep_cmd: ep1in-bulk: cmd 'Set Endpoint Transfer Resource' [2] params 00000001 00000000 00000000
    irq/145-dwc3-249   [000] d...    58.924204: dwc3_writel: addr fa39c838 value 00000001
    irq/145-dwc3-249   [000] d...    58.924206: dwc3_writel: addr fa39c834 value 00000000
    irq/145-dwc3-249   [000] d...    58.924209: dwc3_writel: addr fa39c830 value 00000000
    irq/145-dwc3-249   [000] d...    58.924211: dwc3_writel: addr fa39c83c value 00000402
    irq/145-dwc3-249   [000] d...    58.924214: dwc3_readl: addr fa39c83c value 001f0002
    irq/145-dwc3-249   [000] d...    58.924216: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.924221: dwc3_readl: addr fa39c720 value 00000003
    irq/145-dwc3-249   [000] d...    58.924224: dwc3_writel: addr fa39c720 value 0000000b
    irq/145-dwc3-249   [000] d...    58.924230: dwc3_alloc_request: ep1in-bulk: req ee675940 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.924242: dwc3_ep_queue: ep1in-bulk: req ee675940 length 0/4096 ==> 0
    irq/145-dwc3-249   [000] d...    58.924252: dwc3_gadget: Enabling ep1out-bulk
    irq/145-dwc3-249   [000] d...    58.924254: dwc3_gadget_ep_cmd: ep1out-bulk: cmd 'Set Endpoint Configuration' [1] params 00001004 04000700 00000000
    irq/145-dwc3-249   [000] d...    58.924256: dwc3_writel: addr fa39c828 value 00001004
    irq/145-dwc3-249   [000] d...    58.924262: dwc3_writel: addr fa39c824 value 04000700
    irq/145-dwc3-249   [000] d...    58.924264: dwc3_writel: addr fa39c820 value 00000000
    irq/145-dwc3-249   [000] d...    58.924267: dwc3_writel: addr fa39c82c value 00000401
    irq/145-dwc3-249   [000] d...    58.924270: dwc3_readl: addr fa39c82c value 00000001
    irq/145-dwc3-249   [000] d...    58.924272: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.924274: dwc3_gadget_ep_cmd: ep1out-bulk: cmd 'Set Endpoint Transfer Resource' [2] params 00000001 00000000 00000000
    irq/145-dwc3-249   [000] d...    58.924276: dwc3_writel: addr fa39c828 value 00000001
    irq/145-dwc3-249   [000] d...    58.924281: dwc3_writel: addr fa39c824 value 00000000
    irq/145-dwc3-249   [000] d...    58.924283: dwc3_writel: addr fa39c820 value 00000000
    irq/145-dwc3-249   [000] d...    58.924286: dwc3_writel: addr fa39c82c value 00000402
    irq/145-dwc3-249   [000] d...    58.924289: dwc3_readl: addr fa39c82c value 00200002
    irq/145-dwc3-249   [000] d...    58.924291: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.924294: dwc3_readl: addr fa39c720 value 0000000b
    irq/145-dwc3-249   [000] d...    58.924296: dwc3_writel: addr fa39c720 value 0000000f
    irq/145-dwc3-249   [000] d...    58.924302: dwc3_alloc_request: ep1out-bulk: req ee6758c0 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.924311: dwc3_ep_queue: ep1out-bulk: req ee6758c0 length 0/4096 ==> 0
    irq/145-dwc3-249   [000] d...    58.924352: dwc3_ep0: queueing request ed15e7c0 to ep0out length 0 state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.924360: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.924364: dwc3_event: event 000020c2
    irq/145-dwc3-249   [000] d...    58.924366: dwc3_ep0: Transfer Not Ready while ep0in in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.924370: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.924373: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c33
    irq/145-dwc3-249   [000] d...    58.924380: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.924382: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.924385: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.924388: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.924390: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.924393: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.924396: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.924402: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.924404: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.924407: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.924410: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.H.    58.924565: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.H.    58.924572: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.H.    58.924576: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.H.    58.924584: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.H.    58.924586: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.H.    58.924589: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.924700: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.924703: dwc3_ep0: Transfer Complete while ep0in in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.924709: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.924713: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c32
    irq/145-dwc3-249   [000] d...    58.924718: dwc3_gadget_giveback: ep0out: req ed15e7c0 length 0/0 ==> 0
    irq/145-dwc3-249   [000] d...    58.924726: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.924729: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.924732: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.924736: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.924738: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.924741: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.924744: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.924749: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.924752: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.924755: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.924758: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.924761: dwc3_writel: addr fa39c408 value 00000100
         testusb-252   [000] dnh.    58.927627: dwc3_readl: addr fa39c40c value 00000008
         testusb-252   [000] dnh.    58.927641: dwc3_readl: addr fa39c408 value 00000100
         testusb-252   [000] dnh.    58.927650: dwc3_writel: addr fa39c408 value 80000100
         testusb-252   [000] dnh.    58.927653: dwc3_readl: addr fa39c41c value 00000000
         testusb-252   [000] dnh.    58.927656: dwc3_readl: addr fa39c42c value 00000000
         testusb-252   [000] dnh.    58.927659: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.927755: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.927762: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.927770: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.927773: dwc3_ctrl_req: bRequestType 81 bRequest 0a wValue 0000 wIndex 0000 wLength 1
    irq/145-dwc3-249   [000] d...    58.927777: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.927790: dwc3_ep0: queueing request ed15e7c0 to ep0out length 1 state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.927800: dwc3_prepare_trb: ep0in: trb f2812000 bph 00000000 bpl ae531400 size 00000001 ctrl 00000c53
    irq/145-dwc3-249   [000] d...    58.927808: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.927811: dwc3_writel: addr fa39c818 value 00000000
    irq/145-dwc3-249   [000] d...    58.927815: dwc3_writel: addr fa39c814 value bf085000
    irq/145-dwc3-249   [000] d...    58.927818: dwc3_writel: addr fa39c810 value 00000000
    irq/145-dwc3-249   [000] d...    58.927820: dwc3_writel: addr fa39c81c value 00000406
    irq/145-dwc3-249   [000] d...    58.927826: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.927830: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.927833: dwc3_readl: addr fa39c81c value 00010006
    irq/145-dwc3-249   [000] d...    58.927839: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.927842: dwc3_event: event 000010c2
    irq/145-dwc3-249   [000] d...    58.927843: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.927847: dwc3_ep0: Control Data
    irq/145-dwc3-249   [000] d...    58.927850: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.927855: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.927858: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.927867: dwc3_readl: addr fa39c40c value 00000008
    irq/145-dwc3-249   [000] d.h.    58.927870: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.927873: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.927876: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.927879: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.927884: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.927893: dwc3_event: event 0000c042
    irq/145-dwc3-249   [000] d...    58.927895: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.927899: dwc3_ep0: Data Phase
    irq/145-dwc3-249   [000] d...    58.927903: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl ae531400 size 00000000 ctrl 00000c52
    irq/145-dwc3-249   [000] d...    58.927910: dwc3_gadget_giveback: ep0out: req ed15e7c0 length 1/1 ==> 0
    irq/145-dwc3-249   [000] d...    58.927914: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.927917: dwc3_event: event 000020c0
    irq/145-dwc3-249   [000] d...    58.927919: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
    irq/145-dwc3-249   [000] d...    58.927925: dwc3_ep0: Control Status
    irq/145-dwc3-249   [000] d...    58.927927: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c43
    irq/145-dwc3-249   [000] d...    58.927931: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.927932: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.927935: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.927939: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.927941: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.927947: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.927949: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.927951: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.927954: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.927957: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.927960: dwc3_writel: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.927966: dwc3_readl: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d.h.    58.927972: dwc3_readl: addr fa39c408 value 00000100
    irq/145-dwc3-249   [000] d.h.    58.927974: dwc3_writel: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d.h.    58.927977: dwc3_readl: addr fa39c41c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.927980: dwc3_readl: addr fa39c42c value 00000000
    irq/145-dwc3-249   [000] d.h.    58.927983: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.928069: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.928072: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
    irq/145-dwc3-249   [000] d...    58.928077: dwc3_ep0: Status Phase
    irq/145-dwc3-249   [000] d...    58.928082: dwc3_complete_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000000 ctrl 00000c42
    irq/145-dwc3-249   [000] d...    58.928086: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.928089: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.928091: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.928095: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.928098: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.928100: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.928106: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.928108: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.928111: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.928114: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.928116: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.928119: dwc3_writel: addr fa39c408 value 00000100
         testusb-252   [000] d.h.    58.931918: dwc3_readl: addr fa39c40c value 00000008
         testusb-252   [000] d.h.    58.931942: dwc3_readl: addr fa39c408 value 00000100
         testusb-252   [000] d.h.    58.931947: dwc3_writel: addr fa39c408 value 80000100
         testusb-252   [000] d.h.    58.931950: dwc3_readl: addr fa39c41c value 00000000
         testusb-252   [000] d.h.    58.931953: dwc3_readl: addr fa39c42c value 00000000
         testusb-252   [000] d.h.    58.931956: dwc3_readl: addr fa39c43c value 00000000
    irq/145-dwc3-249   [000] d...    58.932018: dwc3_event: event 0000c040
    irq/145-dwc3-249   [000] d...    58.932024: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.932032: dwc3_ep0: Setup Phase
    irq/145-dwc3-249   [000] d...    58.932036: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0001 wIndex 0000 wLength 0
    irq/145-dwc3-249   [000] d...    58.932042: dwc3_ep0: Forwarding to gadget driver
    irq/145-dwc3-249   [000] d...    58.932059: dwc3_gadget_giveback: ep1in: req ee675940 length 0/4096 ==> -108
    irq/145-dwc3-249   [000] d...    58.932067: dwc3_free_request: ep1in: req ee675940 length 0/4096 ==> -108
    irq/145-dwc3-249   [000] d...    58.932072: dwc3_readl: addr fa39c720 value 0000000f
    irq/145-dwc3-249   [000] d...    58.932076: dwc3_writel: addr fa39c720 value 00000007
    irq/145-dwc3-249   [000] d...    58.932088: dwc3_gadget_giveback: ep1out: req ee6758c0 length 0/4096 ==> -108
    irq/145-dwc3-249   [000] d...    58.932092: dwc3_free_request: ep1out: req ee6758c0 length 0/4096 ==> -108
    irq/145-dwc3-249   [000] d...    58.932098: dwc3_readl: addr fa39c720 value 00000007
    irq/145-dwc3-249   [000] d...    58.932101: dwc3_writel: addr fa39c720 value 00000003
    irq/145-dwc3-249   [000] d...    58.932109: dwc3_gadget: Enabling ep1in-bulk
    irq/145-dwc3-249   [000] d...    58.932116: dwc3_gadget_ep_cmd: ep1in-bulk: cmd 'Set Endpoint Configuration' [1] params 00021004 06000700 00000000
    irq/145-dwc3-249   [000] d...    58.932118: dwc3_writel: addr fa39c838 value 00021004
    irq/145-dwc3-249   [000] d...    58.932121: dwc3_writel: addr fa39c834 value 06000700
    irq/145-dwc3-249   [000] d...    58.932124: dwc3_writel: addr fa39c830 value 00000000
    irq/145-dwc3-249   [000] d...    58.932129: dwc3_writel: addr fa39c83c value 00000401
    irq/145-dwc3-249   [000] d...    58.932132: dwc3_readl: addr fa39c83c value 00000001
    irq/145-dwc3-249   [000] d...    58.932134: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.932136: dwc3_gadget_ep_cmd: ep1in-bulk: cmd 'Set Endpoint Transfer Resource' [2] params 00000001 00000000 00000000
    irq/145-dwc3-249   [000] d...    58.932138: dwc3_writel: addr fa39c838 value 00000001
    irq/145-dwc3-249   [000] d...    58.932141: dwc3_writel: addr fa39c834 value 00000000
    irq/145-dwc3-249   [000] d...    58.932143: dwc3_writel: addr fa39c830 value 00000000
    irq/145-dwc3-249   [000] d...    58.932148: dwc3_writel: addr fa39c83c value 00000402
    irq/145-dwc3-249   [000] d...    58.932151: dwc3_readl: addr fa39c83c value 00201002
    irq/145-dwc3-249   [000] d...    58.932153: dwc3_gadget: Command Complete --> 1
    irq/145-dwc3-249   [000] d...    58.932159: dwc3_gadget_ep_cmd: ep0out: cmd 'Set Stall' [4] params 00000000 00000000 00000000
    irq/145-dwc3-249   [000] d...    58.932161: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.932164: dwc3_writel: addr fa39c804 value 00000000
    irq/145-dwc3-249   [000] d...    58.932166: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.932171: dwc3_writel: addr fa39c80c value 00000404
    irq/145-dwc3-249   [000] d...    58.932174: dwc3_readl: addr fa39c80c value 00000004
    irq/145-dwc3-249   [000] d...    58.932176: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.932181: dwc3_prepare_trb: ep0out: trb f2812000 bph 00000000 bpl bf084000 size 00000008 ctrl 00000c23
    irq/145-dwc3-249   [000] d...    58.932184: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 bf085000 00000000
    irq/145-dwc3-249   [000] d...    58.932186: dwc3_writel: addr fa39c808 value 00000000
    irq/145-dwc3-249   [000] d...    58.932189: dwc3_writel: addr fa39c804 value bf085000
    irq/145-dwc3-249   [000] d...    58.932194: dwc3_writel: addr fa39c800 value 00000000
    irq/145-dwc3-249   [000] d...    58.932196: dwc3_writel: addr fa39c80c value 00000406
    irq/145-dwc3-249   [000] d...    58.932199: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.932202: dwc3_gadget: Command Complete --> 0
    irq/145-dwc3-249   [000] d...    58.932205: dwc3_readl: addr fa39c80c value 00000006
    irq/145-dwc3-249   [000] d...    58.932208: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.932211: dwc3_event: event 000020c2
    irq/145-dwc3-249   [000] d...    58.932213: dwc3_ep0: Transfer Not Ready while ep0in in state 'Setup Phase'
    irq/145-dwc3-249   [000] d...    58.932219: dwc3_writel: addr fa39c40c value 00000004
    irq/145-dwc3-249   [000] d...    58.932222: dwc3_readl: addr fa39c408 value 80000100
    irq/145-dwc3-249   [000] d...    58.932225: dwc3_writel: addr fa39c408 value 00000100

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* RE: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-06-29 21:47   ` Felipe Balbi
  2015-06-29 21:48     ` Felipe Balbi
@ 2015-07-01  7:29     ` Subbaraya Sundeep Bhatta
  2015-07-06 17:07       ` Felipe Balbi
  1 sibling, 1 reply; 23+ messages in thread
From: Subbaraya Sundeep Bhatta @ 2015-07-01  7:29 UTC (permalink / raw)
  To: balbi; +Cc: gregkh, linux-usb, linux-kernel, stable

Hi Felipe,

> -----Original Message-----
> From: Felipe Balbi [mailto:balbi@ti.com]
> Sent: Tuesday, June 30, 2015 3:17 AM
> To: Subbaraya Sundeep Bhatta
> Cc: balbi@ti.com; gregkh@linuxfoundation.org; linux-usb@vger.kernel.org;
> linux-kernel@vger.kernel.org; stable@vger.kernel.org; Subbaraya Sundeep
> Bhatta
> Subject: Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command
> sent to DEPCMD register fails
> 
> Hi,
> 
> On Thu, May 21, 2015 at 03:46:48PM +0530, Subbaraya Sundeep Bhatta
> wrote:
> > We need to return error to caller if command is not sent to controller
> > succesfully.
> >
> > Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
> > Fixes: 72246da40f37 (usb: Introduce DesignWare USB3 DRD Driver)
> > Cc: <stable@vger.kernel.org>
> > ---
> > v2 changes:
> > 	Added Fixes and Cc in commit message.
> 
> I noticed that this breaks at least my AM437x silicon with DWC3 2.40a
> when used with g_zero and testusb. As of now, it could be that silicon is
> mis-behaving because I got a Transfer Complete before the failing Set
> Endpoint Transfer Resource command.
> 
> In any case, can you run on your setup with g_zero and test.sh/testusb
> [1]/[2] just to verify that it really works for you ?

Ok I will do that.

Thanks,
Sundeep.B.S.

> 
> Meanwhile, I'll continue testing on my end.
> 
> cheers
> 
> [1] https://gitorious.org/usb/usb-
> tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:testusb.c
> [2] https://gitorious.org/usb/usb-
> tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:test.sh
> 
> --
> balbi

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-06-29 21:48     ` Felipe Balbi
  2015-06-29 23:59       ` John Youn
@ 2015-07-02  2:03       ` John Youn
  2015-07-02  3:00         ` Felipe Balbi
  1 sibling, 1 reply; 23+ messages in thread
From: John Youn @ 2015-07-02  2:03 UTC (permalink / raw)
  To: balbi, John Youn
  Cc: Subbaraya Sundeep Bhatta, gregkh, linux-usb, linux-kernel,
	stable, Subbaraya Sundeep Bhatta

On 6/29/2015 2:48 PM, Felipe Balbi wrote:
> Hi again,
> 
> On Mon, Jun 29, 2015 at 04:47:01PM -0500, Felipe Balbi wrote:
>> On Thu, May 21, 2015 at 03:46:48PM +0530, Subbaraya Sundeep Bhatta wrote:
>>> We need to return error to caller if command is not sent to
>>> controller succesfully.
>>>
>>> Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
>>> Fixes: 72246da40f37 (usb: Introduce DesignWare USB3 DRD Driver)
>>> Cc: <stable@vger.kernel.org>
>>> ---
>>> v2 changes:
>>> 	Added Fixes and Cc in commit message.
>>
>> I noticed that this breaks at least my AM437x silicon with DWC3 2.40a
>> when used with g_zero and testusb. As of now, it could be that silicon
>> is mis-behaving because I got a Transfer Complete before the failing Set
>> Endpoint Transfer Resource command.
>>
>> In any case, can you run on your setup with g_zero and test.sh/testusb
>> [1]/[2] just to verify that it really works for you ?
>>
>> Meanwhile, I'll continue testing on my end.
>>
>> cheers
>>
>> [1] https://gitorious.org/usb/usb-tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:testusb.c
>> [2] https://gitorious.org/usb/usb-tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:test.sh
> 
> Adding John here. John, any chance you could fire up dwc3 on HAPS and
> see wether it works or fails for you ?
> 
> cheers
> 

Hi Felipe,

Just an update on this.

I'm trying to get this working with our latest IP with dwc3 from your testing/next branch. It fails the usbtest with a problem unrelated to this patch.

It passes on 4.1.1.

I'll have to look into the failure but I won't get to it until next week as I'm off the rest of this week.

Regards,
John




^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-07-02  2:03       ` John Youn
@ 2015-07-02  3:00         ` Felipe Balbi
  2015-07-07  2:10           ` John Youn
  0 siblings, 1 reply; 23+ messages in thread
From: Felipe Balbi @ 2015-07-02  3:00 UTC (permalink / raw)
  To: John Youn
  Cc: balbi, Subbaraya Sundeep Bhatta, gregkh, linux-usb, linux-kernel,
	stable, Subbaraya Sundeep Bhatta

[-- Attachment #1: Type: text/plain, Size: 2008 bytes --]

On Thu, Jul 02, 2015 at 02:03:14AM +0000, John Youn wrote:
> On 6/29/2015 2:48 PM, Felipe Balbi wrote:
> > Hi again,
> > 
> > On Mon, Jun 29, 2015 at 04:47:01PM -0500, Felipe Balbi wrote:
> >> On Thu, May 21, 2015 at 03:46:48PM +0530, Subbaraya Sundeep Bhatta wrote:
> >>> We need to return error to caller if command is not sent to
> >>> controller succesfully.
> >>>
> >>> Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
> >>> Fixes: 72246da40f37 (usb: Introduce DesignWare USB3 DRD Driver)
> >>> Cc: <stable@vger.kernel.org>
> >>> ---
> >>> v2 changes:
> >>> 	Added Fixes and Cc in commit message.
> >>
> >> I noticed that this breaks at least my AM437x silicon with DWC3 2.40a
> >> when used with g_zero and testusb. As of now, it could be that silicon
> >> is mis-behaving because I got a Transfer Complete before the failing Set
> >> Endpoint Transfer Resource command.
> >>
> >> In any case, can you run on your setup with g_zero and test.sh/testusb
> >> [1]/[2] just to verify that it really works for you ?
> >>
> >> Meanwhile, I'll continue testing on my end.
> >>
> >> cheers
> >>
> >> [1] https://gitorious.org/usb/usb-tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:testusb.c
> >> [2] https://gitorious.org/usb/usb-tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:test.sh
> > 
> > Adding John here. John, any chance you could fire up dwc3 on HAPS and
> > see wether it works or fails for you ?
> > 
> > cheers
> > 
> 
> Hi Felipe,
> 
> Just an update on this.
> 
> I'm trying to get this working with our latest IP with dwc3 from your
> testing/next branch. It fails the usbtest with a problem unrelated to
> this patch.
> 
> It passes on 4.1.1.
> 
> I'll have to look into the failure but I won't get to it until next
> week as I'm off the rest of this week.

interesting... If you could post failure signature, I can help looking
at it, but I guess it's too late to ask :-)

thanks for helping though

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-07-01  7:29     ` Subbaraya Sundeep Bhatta
@ 2015-07-06 17:07       ` Felipe Balbi
  2015-07-07  5:01         ` Subbaraya Sundeep Bhatta
  2015-07-08  9:50         ` Subbaraya Sundeep Bhatta
  0 siblings, 2 replies; 23+ messages in thread
From: Felipe Balbi @ 2015-07-06 17:07 UTC (permalink / raw)
  To: Subbaraya Sundeep Bhatta; +Cc: balbi, gregkh, linux-usb, linux-kernel, stable

[-- Attachment #1: Type: text/plain, Size: 1579 bytes --]

On Wed, Jul 01, 2015 at 07:29:28AM +0000, Subbaraya Sundeep Bhatta wrote:
> Hi Felipe,
> 
> > -----Original Message-----
> > From: Felipe Balbi [mailto:balbi@ti.com]
> > Sent: Tuesday, June 30, 2015 3:17 AM
> > To: Subbaraya Sundeep Bhatta
> > Cc: balbi@ti.com; gregkh@linuxfoundation.org; linux-usb@vger.kernel.org;
> > linux-kernel@vger.kernel.org; stable@vger.kernel.org; Subbaraya Sundeep
> > Bhatta
> > Subject: Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command
> > sent to DEPCMD register fails
> > 
> > Hi,
> > 
> > On Thu, May 21, 2015 at 03:46:48PM +0530, Subbaraya Sundeep Bhatta
> > wrote:
> > > We need to return error to caller if command is not sent to controller
> > > succesfully.
> > >
> > > Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
> > > Fixes: 72246da40f37 (usb: Introduce DesignWare USB3 DRD Driver)
> > > Cc: <stable@vger.kernel.org>
> > > ---
> > > v2 changes:
> > > 	Added Fixes and Cc in commit message.
> > 
> > I noticed that this breaks at least my AM437x silicon with DWC3 2.40a
> > when used with g_zero and testusb. As of now, it could be that silicon is
> > mis-behaving because I got a Transfer Complete before the failing Set
> > Endpoint Transfer Resource command.
> > 
> > In any case, can you run on your setup with g_zero and test.sh/testusb
> > [1]/[2] just to verify that it really works for you ?
> 
> Ok I will do that.

Did you manage to run the test I asked ? If we don't get down to this,
I'll have to revert your patch as it regresses my platforms.

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-07-02  3:00         ` Felipe Balbi
@ 2015-07-07  2:10           ` John Youn
  2015-07-07  3:24             ` Felipe Balbi
  0 siblings, 1 reply; 23+ messages in thread
From: John Youn @ 2015-07-07  2:10 UTC (permalink / raw)
  To: balbi, John Youn
  Cc: Subbaraya Sundeep Bhatta, gregkh, linux-usb, linux-kernel,
	stable, Subbaraya Sundeep Bhatta

[-- Attachment #1: Type: text/plain, Size: 2583 bytes --]

On 7/1/2015 8:00 PM, Felipe Balbi wrote:
> On Thu, Jul 02, 2015 at 02:03:14AM +0000, John Youn wrote:
>> On 6/29/2015 2:48 PM, Felipe Balbi wrote:
>>> Hi again,
>>>
>>> On Mon, Jun 29, 2015 at 04:47:01PM -0500, Felipe Balbi wrote:
>>>> On Thu, May 21, 2015 at 03:46:48PM +0530, Subbaraya Sundeep Bhatta wrote:
>>>>> We need to return error to caller if command is not sent to
>>>>> controller succesfully.
>>>>>
>>>>> Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
>>>>> Fixes: 72246da40f37 (usb: Introduce DesignWare USB3 DRD Driver)
>>>>> Cc: <stable@vger.kernel.org>
>>>>> ---
>>>>> v2 changes:
>>>>> 	Added Fixes and Cc in commit message.
>>>>
>>>> I noticed that this breaks at least my AM437x silicon with DWC3 2.40a
>>>> when used with g_zero and testusb. As of now, it could be that silicon
>>>> is mis-behaving because I got a Transfer Complete before the failing Set
>>>> Endpoint Transfer Resource command.
>>>>
>>>> In any case, can you run on your setup with g_zero and test.sh/testusb
>>>> [1]/[2] just to verify that it really works for you ?
>>>>
>>>> Meanwhile, I'll continue testing on my end.
>>>>
>>>> cheers
>>>>
>>>> [1] https://gitorious.org/usb/usb-tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:testusb.c
>>>> [2] https://gitorious.org/usb/usb-tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:test.sh
>>>
>>> Adding John here. John, any chance you could fire up dwc3 on HAPS and
>>> see wether it works or fails for you ?
>>>
>>> cheers
>>>
>>
>> Hi Felipe,
>>
>> Just an update on this.
>>
>> I'm trying to get this working with our latest IP with dwc3 from your
>> testing/next branch. It fails the usbtest with a problem unrelated to
>> this patch.
>>
>> It passes on 4.1.1.
>>
>> I'll have to look into the failure but I won't get to it until next
>> week as I'm off the rest of this week.
> 
> interesting... If you could post failure signature, I can help looking
> at it, but I guess it's too late to ask :-)
> 
> thanks for helping though
> 


Hi Felipe,

Nevermind about my issue, it ended up being a setup-related
problem.

I actually do see the same error as you due to this series of
patches. Except I see it happening before even the first
iteration. I get a completion status of 1 for the Set Endpoint
Transfer Resources command. I'm not sure why this is.

I don't see any conflict with any previous Transfer Complete.

I will have to consult with some hardware engineers tomorrow to
look into it further.

The trace is attached.

John




[-- Attachment #2: dwc3-trace.txt --]
[-- Type: text/plain, Size: 52315 bytes --]

# tracer: nop
#
# entries-in-buffer/entries-written: 518/518   #P:8
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
          <idle>-0     [000] d.h.  2443.493013: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [000] d.h.  2443.493019: dwc3_readl: addr ffffc90000ea0408 value 00000100
          <idle>-0     [000] d.h.  2443.493020: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] d.h.  2443.493128: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] d.h.  2443.493132: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] d.h.  2443.493133: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493186: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493188: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493189: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493192: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493194: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493195: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493198: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493200: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493201: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493204: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493206: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493207: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493210: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493212: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493213: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493216: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493218: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493219: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493222: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493224: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493225: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493229: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493231: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493232: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493235: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493237: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493238: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493241: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493243: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493244: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493247: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493249: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493250: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493254: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.493256: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493257: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493260: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.493262: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493263: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493266: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.493268: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493269: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493271: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.493273: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493274: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493277: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.493279: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493280: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493283: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.493285: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493286: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493289: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.493291: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493292: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d...  2443.493294: dwc3_event: event 0000c040
     irq/33-dwc3-10808 [003] d...  2443.493295: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
     irq/33-dwc3-10808 [003] d...  2443.493296: dwc3_ep0: Setup Phase
     irq/33-dwc3-10808 [003] d...  2443.493297: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0000 wIndex 0000 wLength 0
     irq/33-dwc3-10808 [003] d...  2443.493298: dwc3_ep0: Forwarding to gadget driver
     irq/33-dwc3-10808 [003] d...  2443.493302: dwc3_gadget_giveback: ep1in: req ffff8802335bfd40 length 0/4096 ==> -108
     irq/33-dwc3-10808 [003] d...  2443.493304: dwc3_free_request: ep1in: req ffff8802335bfd40 length 0/4096 ==> -108
     irq/33-dwc3-10808 [003] d...  2443.493306: dwc3_readl: addr ffffc90000ea0720 value 0000000f
     irq/33-dwc3-10808 [003] d...  2443.493307: dwc3_writel: addr ffffc90000ea0720 value 00000007
     irq/33-dwc3-10808 [003] d...  2443.493310: dwc3_gadget_giveback: ep1out: req ffff8802335bfc80 length 0/4096 ==> -108
     irq/33-dwc3-10808 [003] d...  2443.493310: dwc3_free_request: ep1out: req ffff8802335bfc80 length 0/4096 ==> -108
     irq/33-dwc3-10808 [003] d...  2443.493312: dwc3_readl: addr ffffc90000ea0720 value 00000007
     irq/33-dwc3-10808 [003] d...  2443.493313: dwc3_writel: addr ffffc90000ea0720 value 00000003
     irq/33-dwc3-10808 [003] d...  2443.493315: dwc3_gadget: Enabling ep1in-bulk
     irq/33-dwc3-10808 [003] d...  2443.493317: dwc3_gadget_ep_cmd: ep1in-bulk: cmd 'Set Endpoint Configuration' [1] params 00021004 06000700 00000000
     irq/33-dwc3-10808 [003] d...  2443.493317: dwc3_writel: addr ffffc90000ea0838 value 00021004
     irq/33-dwc3-10808 [003] d...  2443.493318: dwc3_writel: addr ffffc90000ea0834 value 06000700
     irq/33-dwc3-10808 [003] d...  2443.493319: dwc3_writel: addr ffffc90000ea0830 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493320: dwc3_writel: addr ffffc90000ea083c value 00000401
     irq/33-dwc3-10808 [003] d...  2443.493322: dwc3_readl: addr ffffc90000ea083c value 00000401
     irq/33-dwc3-10808 [003] d...  2443.493325: dwc3_readl: addr ffffc90000ea083c value 00000001
     irq/33-dwc3-10808 [003] d...  2443.493326: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.493334: dwc3_gadget_ep_cmd: ep1in-bulk: cmd 'Set Endpoint Transfer Resource' [2] params 00000001 00000000 00000000
     irq/33-dwc3-10808 [003] d...  2443.493334: dwc3_writel: addr ffffc90000ea0838 value 00000001
     irq/33-dwc3-10808 [003] d...  2443.493335: dwc3_writel: addr ffffc90000ea0834 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493336: dwc3_writel: addr ffffc90000ea0830 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493337: dwc3_writel: addr ffffc90000ea083c value 00000402
     irq/33-dwc3-10808 [003] d...  2443.493339: dwc3_readl: addr ffffc90000ea083c value 00050402
     irq/33-dwc3-10808 [003] d...  2443.493342: dwc3_readl: addr ffffc90000ea083c value 00050002
     irq/33-dwc3-10808 [003] d...  2443.493343: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.493347: dwc3_readl: addr ffffc90000ea0720 value 00000003
     irq/33-dwc3-10808 [003] d...  2443.493348: dwc3_writel: addr ffffc90000ea0720 value 0000000b
     irq/33-dwc3-10808 [003] d...  2443.493349: dwc3_alloc_request: ep1in-bulk: req ffff880229f15bc0 length 0/0 ==> 0
     irq/33-dwc3-10808 [003] d...  2443.493351: dwc3_ep_queue: ep1in-bulk: req ffff880229f15bc0 length 0/4096 ==> 0
     irq/33-dwc3-10808 [003] d...  2443.493353: dwc3_gadget: Enabling ep1out-bulk
     irq/33-dwc3-10808 [003] d...  2443.493354: dwc3_gadget_ep_cmd: ep1out-bulk: cmd 'Set Endpoint Configuration' [1] params 00001004 04000700 00000000
     irq/33-dwc3-10808 [003] d...  2443.493354: dwc3_writel: addr ffffc90000ea0828 value 00001004
     irq/33-dwc3-10808 [003] d...  2443.493355: dwc3_writel: addr ffffc90000ea0824 value 04000700
     irq/33-dwc3-10808 [003] d...  2443.493356: dwc3_writel: addr ffffc90000ea0820 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493357: dwc3_writel: addr ffffc90000ea082c value 00000401
     irq/33-dwc3-10808 [003] d...  2443.493359: dwc3_readl: addr ffffc90000ea082c value 00000401
     irq/33-dwc3-10808 [003] d...  2443.493362: dwc3_readl: addr ffffc90000ea082c value 00000001
     irq/33-dwc3-10808 [003] d...  2443.493363: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.493366: dwc3_gadget_ep_cmd: ep1out-bulk: cmd 'Set Endpoint Transfer Resource' [2] params 00000001 00000000 00000000
     irq/33-dwc3-10808 [003] d...  2443.493367: dwc3_writel: addr ffffc90000ea0828 value 00000001
     irq/33-dwc3-10808 [003] d...  2443.493368: dwc3_writel: addr ffffc90000ea0824 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493369: dwc3_writel: addr ffffc90000ea0820 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493369: dwc3_writel: addr ffffc90000ea082c value 00000402
     irq/33-dwc3-10808 [003] d...  2443.493371: dwc3_readl: addr ffffc90000ea082c value 00060402
     irq/33-dwc3-10808 [003] d...  2443.493375: dwc3_readl: addr ffffc90000ea082c value 00060002
     irq/33-dwc3-10808 [003] d...  2443.493375: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.493379: dwc3_readl: addr ffffc90000ea0720 value 0000000b
     irq/33-dwc3-10808 [003] d...  2443.493380: dwc3_writel: addr ffffc90000ea0720 value 0000000f
     irq/33-dwc3-10808 [003] d...  2443.493381: dwc3_alloc_request: ep1out-bulk: req ffff880229f15b00 length 0/0 ==> 0
     irq/33-dwc3-10808 [003] d...  2443.493382: dwc3_ep_queue: ep1out-bulk: req ffff880229f15b00 length 0/4096 ==> 0
     irq/33-dwc3-10808 [003] d...  2443.493383: dwc3_ep0: queueing request ffff880234d9a600 to ep0out length 0 state 'Setup Phase'
     irq/33-dwc3-10808 [003] d...  2443.493385: dwc3_writel: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d...  2443.493386: dwc3_event: event 000020c2
     irq/33-dwc3-10808 [003] d...  2443.493387: dwc3_ep0: Transfer Not Ready while ep0in in state 'Setup Phase'
     irq/33-dwc3-10808 [003] d...  2443.493388: dwc3_ep0: Control Status
     irq/33-dwc3-10808 [003] d...  2443.493389: dwc3_prepare_trb: ep0in: trb ffff8800af167000 bph 00000000 bpl 8112a000 size 00000000 ctrl 00000c33
     irq/33-dwc3-10808 [003] d...  2443.493389: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 af167000 00000000
     irq/33-dwc3-10808 [003] d...  2443.493389: dwc3_writel: addr ffffc90000ea0818 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493390: dwc3_writel: addr ffffc90000ea0814 value af167000
     irq/33-dwc3-10808 [003] d...  2443.493391: dwc3_writel: addr ffffc90000ea0810 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493392: dwc3_writel: addr ffffc90000ea081c value 00000406
     irq/33-dwc3-10808 [003] d...  2443.493394: dwc3_readl: addr ffffc90000ea081c value 00000406
     irq/33-dwc3-10808 [003] d...  2443.493398: dwc3_readl: addr ffffc90000ea081c value 00010006
     irq/33-dwc3-10808 [003] d...  2443.493398: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.493403: dwc3_readl: addr ffffc90000ea081c value 00010006
     irq/33-dwc3-10808 [003] d...  2443.493403: dwc3_writel: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d...  2443.493406: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d...  2443.493407: dwc3_writel: addr ffffc90000ea0408 value 00000100
     irq/33-dwc3-10808 [003] d.h.  2443.493409: dwc3_readl: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d.h.  2443.493411: dwc3_readl: addr ffffc90000ea0408 value 00000100
     irq/33-dwc3-10808 [003] d.h.  2443.493412: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493415: dwc3_readl: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d.h.  2443.493417: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493418: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493421: dwc3_readl: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d.h.  2443.493423: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493424: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d...  2443.493425: dwc3_event: event 0000c042
     irq/33-dwc3-10808 [003] d...  2443.493425: dwc3_ep0: Transfer Complete while ep0in in state 'Status Phase'
     irq/33-dwc3-10808 [003] d...  2443.493426: dwc3_ep0: Status Phase
     irq/33-dwc3-10808 [003] d...  2443.493427: dwc3_complete_trb: ep0out: trb ffff8800af167000 bph 00000000 bpl 8112a000 size 00000000 ctrl 00000c32
     irq/33-dwc3-10808 [003] d...  2443.493427: dwc3_gadget_giveback: ep0out: req ffff880234d9a600 length 0/0 ==> 0
     irq/33-dwc3-10808 [003] d...  2443.493428: dwc3_prepare_trb: ep0out: trb ffff8800af167000 bph 00000000 bpl 8112a000 size 00000008 ctrl 00000c23
     irq/33-dwc3-10808 [003] d...  2443.493428: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 af167000 00000000
     irq/33-dwc3-10808 [003] d...  2443.493429: dwc3_writel: addr ffffc90000ea0808 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493430: dwc3_writel: addr ffffc90000ea0804 value af167000
     irq/33-dwc3-10808 [003] d...  2443.493431: dwc3_writel: addr ffffc90000ea0800 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493431: dwc3_writel: addr ffffc90000ea080c value 00000406
     irq/33-dwc3-10808 [003] d...  2443.493434: dwc3_readl: addr ffffc90000ea080c value 00000406
     irq/33-dwc3-10808 [003] d...  2443.493437: dwc3_readl: addr ffffc90000ea080c value 00000006
     irq/33-dwc3-10808 [003] d...  2443.493437: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.493442: dwc3_readl: addr ffffc90000ea080c value 00000006
     irq/33-dwc3-10808 [003] d...  2443.493443: dwc3_writel: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d...  2443.493445: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d...  2443.493445: dwc3_writel: addr ffffc90000ea0408 value 00000100
          <idle>-0     [003] d.h.  2443.493501: dwc3_readl: addr ffffc90000ea040c value 00000000
          <idle>-0     [003] d.h.  2443.493558: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] d.h.  2443.493563: dwc3_readl: addr ffffc90000ea0408 value 00000100
          <idle>-0     [003] d.h.  2443.493564: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493570: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493572: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493573: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493576: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493578: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493579: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493582: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493584: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493585: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493588: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493590: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493591: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493594: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493596: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493597: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493600: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493602: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493603: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493606: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493608: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493609: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493611: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493613: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493614: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493618: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.493621: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493621: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493624: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.493626: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493627: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493630: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.493632: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493633: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493637: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.493639: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493640: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493643: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.493645: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493645: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d...  2443.493647: dwc3_event: event 0000c040
     irq/33-dwc3-10808 [003] d...  2443.493647: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
     irq/33-dwc3-10808 [003] d...  2443.493649: dwc3_ep0: Setup Phase
     irq/33-dwc3-10808 [003] d...  2443.493649: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0000 wIndex 0000 wLength 0
     irq/33-dwc3-10808 [003] d...  2443.493650: dwc3_ep0: Forwarding to gadget driver
     irq/33-dwc3-10808 [003] d...  2443.493652: dwc3_gadget_giveback: ep1in: req ffff880229f15bc0 length 0/4096 ==> -108
     irq/33-dwc3-10808 [003] d...  2443.493653: dwc3_free_request: ep1in: req ffff880229f15bc0 length 0/4096 ==> -108
     irq/33-dwc3-10808 [003] d...  2443.493655: dwc3_readl: addr ffffc90000ea0720 value 0000000f
     irq/33-dwc3-10808 [003] d...  2443.493656: dwc3_writel: addr ffffc90000ea0720 value 00000007
     irq/33-dwc3-10808 [003] d...  2443.493658: dwc3_gadget_giveback: ep1out: req ffff880229f15b00 length 0/4096 ==> -108
     irq/33-dwc3-10808 [003] d...  2443.493659: dwc3_free_request: ep1out: req ffff880229f15b00 length 0/4096 ==> -108
     irq/33-dwc3-10808 [003] d...  2443.493660: dwc3_readl: addr ffffc90000ea0720 value 00000007
     irq/33-dwc3-10808 [003] d...  2443.493661: dwc3_writel: addr ffffc90000ea0720 value 00000003
     irq/33-dwc3-10808 [003] d...  2443.493663: dwc3_gadget: Enabling ep1in-bulk
     irq/33-dwc3-10808 [003] d...  2443.493664: dwc3_gadget_ep_cmd: ep1in-bulk: cmd 'Set Endpoint Configuration' [1] params 00021004 06000700 00000000
     irq/33-dwc3-10808 [003] d...  2443.493664: dwc3_writel: addr ffffc90000ea0838 value 00021004
     irq/33-dwc3-10808 [003] d...  2443.493665: dwc3_writel: addr ffffc90000ea0834 value 06000700
     irq/33-dwc3-10808 [003] d...  2443.493666: dwc3_writel: addr ffffc90000ea0830 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493667: dwc3_writel: addr ffffc90000ea083c value 00000401
     irq/33-dwc3-10808 [003] d...  2443.493669: dwc3_readl: addr ffffc90000ea083c value 00000001
     irq/33-dwc3-10808 [003] d...  2443.493670: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.493675: dwc3_gadget_ep_cmd: ep1in-bulk: cmd 'Set Endpoint Transfer Resource' [2] params 00000001 00000000 00000000
     irq/33-dwc3-10808 [003] d...  2443.493676: dwc3_writel: addr ffffc90000ea0838 value 00000001
     irq/33-dwc3-10808 [003] d...  2443.493677: dwc3_writel: addr ffffc90000ea0834 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493678: dwc3_writel: addr ffffc90000ea0830 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493678: dwc3_writel: addr ffffc90000ea083c value 00000402
     irq/33-dwc3-10808 [003] d...  2443.493681: dwc3_readl: addr ffffc90000ea083c value 00070002
     irq/33-dwc3-10808 [003] d...  2443.493681: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.493685: dwc3_readl: addr ffffc90000ea0720 value 00000003
     irq/33-dwc3-10808 [003] d...  2443.493686: dwc3_writel: addr ffffc90000ea0720 value 0000000b
     irq/33-dwc3-10808 [003] d...  2443.493687: dwc3_alloc_request: ep1in-bulk: req ffff880229f15b00 length 0/0 ==> 0
     irq/33-dwc3-10808 [003] d...  2443.493688: dwc3_ep_queue: ep1in-bulk: req ffff880229f15b00 length 0/4096 ==> 0
     irq/33-dwc3-10808 [003] d...  2443.493690: dwc3_gadget: Enabling ep1out-bulk
     irq/33-dwc3-10808 [003] d...  2443.493691: dwc3_gadget_ep_cmd: ep1out-bulk: cmd 'Set Endpoint Configuration' [1] params 00001004 04000700 00000000
     irq/33-dwc3-10808 [003] d...  2443.493691: dwc3_writel: addr ffffc90000ea0828 value 00001004
     irq/33-dwc3-10808 [003] d...  2443.493692: dwc3_writel: addr ffffc90000ea0824 value 04000700
     irq/33-dwc3-10808 [003] d...  2443.493693: dwc3_writel: addr ffffc90000ea0820 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493694: dwc3_writel: addr ffffc90000ea082c value 00000401
     irq/33-dwc3-10808 [003] d...  2443.493696: dwc3_readl: addr ffffc90000ea082c value 00000001
     irq/33-dwc3-10808 [003] d...  2443.493697: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.493700: dwc3_gadget_ep_cmd: ep1out-bulk: cmd 'Set Endpoint Transfer Resource' [2] params 00000001 00000000 00000000
     irq/33-dwc3-10808 [003] d...  2443.493700: dwc3_writel: addr ffffc90000ea0828 value 00000001
     irq/33-dwc3-10808 [003] d...  2443.493701: dwc3_writel: addr ffffc90000ea0824 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493702: dwc3_writel: addr ffffc90000ea0820 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493703: dwc3_writel: addr ffffc90000ea082c value 00000402
     irq/33-dwc3-10808 [003] d...  2443.493705: dwc3_readl: addr ffffc90000ea082c value 00080002
     irq/33-dwc3-10808 [003] d...  2443.493706: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.493710: dwc3_readl: addr ffffc90000ea0720 value 0000000b
     irq/33-dwc3-10808 [003] d...  2443.493710: dwc3_writel: addr ffffc90000ea0720 value 0000000f
     irq/33-dwc3-10808 [003] d...  2443.493711: dwc3_alloc_request: ep1out-bulk: req ffff880229f15bc0 length 0/0 ==> 0
     irq/33-dwc3-10808 [003] d...  2443.493712: dwc3_ep_queue: ep1out-bulk: req ffff880229f15bc0 length 0/4096 ==> 0
     irq/33-dwc3-10808 [003] d...  2443.493713: dwc3_ep0: queueing request ffff880234d9a600 to ep0out length 0 state 'Setup Phase'
     irq/33-dwc3-10808 [003] d...  2443.493715: dwc3_writel: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d...  2443.493715: dwc3_event: event 000020c2
     irq/33-dwc3-10808 [003] d...  2443.493716: dwc3_ep0: Transfer Not Ready while ep0in in state 'Setup Phase'
     irq/33-dwc3-10808 [003] d...  2443.493717: dwc3_ep0: Control Status
     irq/33-dwc3-10808 [003] d...  2443.493717: dwc3_prepare_trb: ep0in: trb ffff8800af167000 bph 00000000 bpl 8112a000 size 00000000 ctrl 00000c33
     irq/33-dwc3-10808 [003] d...  2443.493718: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 af167000 00000000
     irq/33-dwc3-10808 [003] d...  2443.493718: dwc3_writel: addr ffffc90000ea0818 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493719: dwc3_writel: addr ffffc90000ea0814 value af167000
     irq/33-dwc3-10808 [003] d...  2443.493720: dwc3_writel: addr ffffc90000ea0810 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493721: dwc3_writel: addr ffffc90000ea081c value 00000406
     irq/33-dwc3-10808 [003] d...  2443.493723: dwc3_readl: addr ffffc90000ea081c value 00000406
     irq/33-dwc3-10808 [003] d...  2443.493726: dwc3_readl: addr ffffc90000ea081c value 00010006
     irq/33-dwc3-10808 [003] d...  2443.493727: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.493731: dwc3_readl: addr ffffc90000ea081c value 00010006
     irq/33-dwc3-10808 [003] d...  2443.493732: dwc3_writel: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d...  2443.493734: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d...  2443.493735: dwc3_writel: addr ffffc90000ea0408 value 00000100
     irq/33-dwc3-10808 [003] d.h.  2443.493738: dwc3_readl: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d.h.  2443.493740: dwc3_readl: addr ffffc90000ea0408 value 00000100
     irq/33-dwc3-10808 [003] d.h.  2443.493741: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493744: dwc3_readl: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d.h.  2443.493746: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493747: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493749: dwc3_readl: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d.h.  2443.493751: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.493752: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d...  2443.493754: dwc3_event: event 0000c042
     irq/33-dwc3-10808 [003] d...  2443.493754: dwc3_ep0: Transfer Complete while ep0in in state 'Status Phase'
     irq/33-dwc3-10808 [003] d...  2443.493755: dwc3_ep0: Status Phase
     irq/33-dwc3-10808 [003] d...  2443.493755: dwc3_complete_trb: ep0out: trb ffff8800af167000 bph 00000000 bpl 8112a000 size 00000000 ctrl 00000c32
     irq/33-dwc3-10808 [003] d...  2443.493756: dwc3_gadget_giveback: ep0out: req ffff880234d9a600 length 0/0 ==> 0
     irq/33-dwc3-10808 [003] d...  2443.493756: dwc3_prepare_trb: ep0out: trb ffff8800af167000 bph 00000000 bpl 8112a000 size 00000008 ctrl 00000c23
     irq/33-dwc3-10808 [003] d...  2443.493757: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 af167000 00000000
     irq/33-dwc3-10808 [003] d...  2443.493757: dwc3_writel: addr ffffc90000ea0808 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493758: dwc3_writel: addr ffffc90000ea0804 value af167000
     irq/33-dwc3-10808 [003] d...  2443.493759: dwc3_writel: addr ffffc90000ea0800 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.493760: dwc3_writel: addr ffffc90000ea080c value 00000406
     irq/33-dwc3-10808 [003] d...  2443.493762: dwc3_readl: addr ffffc90000ea080c value 00000406
     irq/33-dwc3-10808 [003] d...  2443.493765: dwc3_readl: addr ffffc90000ea080c value 00000006
     irq/33-dwc3-10808 [003] d...  2443.493765: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.493770: dwc3_readl: addr ffffc90000ea080c value 00000006
     irq/33-dwc3-10808 [003] d...  2443.493770: dwc3_writel: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d...  2443.493772: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d...  2443.493773: dwc3_writel: addr ffffc90000ea0408 value 00000100
     irq/33-dwc3-10808 [003] d.h.  2443.493776: dwc3_readl: addr ffffc90000ea040c value 00000000
          <idle>-0     [003] d.h.  2443.493962: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] d.h.  2443.493967: dwc3_readl: addr ffffc90000ea0408 value 00000100
          <idle>-0     [003] d.h.  2443.493968: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493974: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493976: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493977: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493981: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493983: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493984: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493987: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493989: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493990: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493993: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.493995: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493996: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.493999: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.494000: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494001: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494004: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.494006: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494007: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494010: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.494012: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494013: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494016: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.494018: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494019: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494023: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.494025: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494026: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494029: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.494031: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494032: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494035: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.494037: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494038: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494041: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.494042: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494043: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494046: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.494048: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494049: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d...  2443.494051: dwc3_event: event 0000c040
     irq/33-dwc3-10808 [003] d...  2443.494051: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
     irq/33-dwc3-10808 [003] d...  2443.494053: dwc3_ep0: Setup Phase
     irq/33-dwc3-10808 [003] d...  2443.494053: dwc3_ctrl_req: bRequestType 81 bRequest 0a wValue 0000 wIndex 0000 wLength 1
     irq/33-dwc3-10808 [003] d...  2443.494053: dwc3_ep0: Forwarding to gadget driver
     irq/33-dwc3-10808 [003] d...  2443.494055: dwc3_ep0: queueing request ffff880234d9a600 to ep0out length 1 state 'Setup Phase'
     irq/33-dwc3-10808 [003] d...  2443.494057: dwc3_prepare_trb: ep0in: trb ffff8800af167000 bph 00000000 bpl be95d800 size 00000001 ctrl 00000c53
     irq/33-dwc3-10808 [003] d...  2443.494058: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 af167000 00000000
     irq/33-dwc3-10808 [003] d...  2443.494059: dwc3_writel: addr ffffc90000ea0818 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.494059: dwc3_writel: addr ffffc90000ea0814 value af167000
     irq/33-dwc3-10808 [003] d...  2443.494060: dwc3_writel: addr ffffc90000ea0810 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.494061: dwc3_writel: addr ffffc90000ea081c value 00000406
     irq/33-dwc3-10808 [003] d...  2443.494063: dwc3_readl: addr ffffc90000ea081c value 00000406
     irq/33-dwc3-10808 [003] d...  2443.494066: dwc3_readl: addr ffffc90000ea081c value 00010006
     irq/33-dwc3-10808 [003] d...  2443.494067: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.494074: dwc3_readl: addr ffffc90000ea081c value 00010006
     irq/33-dwc3-10808 [003] d...  2443.494076: dwc3_writel: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d...  2443.494076: dwc3_event: event 000010c2
     irq/33-dwc3-10808 [003] d...  2443.494077: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
     irq/33-dwc3-10808 [003] d...  2443.494078: dwc3_ep0: Control Data
     irq/33-dwc3-10808 [003] d...  2443.494078: dwc3_writel: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d...  2443.494080: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d...  2443.494081: dwc3_writel: addr ffffc90000ea0408 value 00000100
     irq/33-dwc3-10808 [003] d.h.  2443.494084: dwc3_readl: addr ffffc90000ea040c value 0000000c
     irq/33-dwc3-10808 [003] d.h.  2443.494086: dwc3_readl: addr ffffc90000ea0408 value 00000100
     irq/33-dwc3-10808 [003] d.h.  2443.494087: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494090: dwc3_readl: addr ffffc90000ea040c value 0000000c
     irq/33-dwc3-10808 [003] d.h.  2443.494091: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494092: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494095: dwc3_readl: addr ffffc90000ea040c value 0000000c
     irq/33-dwc3-10808 [003] d.h.  2443.494097: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494098: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d...  2443.494100: dwc3_event: event 000090c2
     irq/33-dwc3-10808 [003] d...  2443.494101: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase'
     irq/33-dwc3-10808 [003] d...  2443.494102: dwc3_writel: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d...  2443.494102: dwc3_event: event 0000c042
     irq/33-dwc3-10808 [003] d...  2443.494103: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase'
     irq/33-dwc3-10808 [003] d...  2443.494103: dwc3_ep0: Data Phase
     irq/33-dwc3-10808 [003] d...  2443.494104: dwc3_complete_trb: ep0out: trb ffff8800af167000 bph 00000000 bpl be95d800 size 00000000 ctrl 00000c52
     irq/33-dwc3-10808 [003] d...  2443.494105: dwc3_gadget_giveback: ep0out: req ffff880234d9a600 length 1/1 ==> 0
     irq/33-dwc3-10808 [003] d...  2443.494105: dwc3_writel: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d...  2443.494106: dwc3_event: event 000020c0
     irq/33-dwc3-10808 [003] d...  2443.494106: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase'
     irq/33-dwc3-10808 [003] d...  2443.494107: dwc3_ep0: Control Status
     irq/33-dwc3-10808 [003] d...  2443.494108: dwc3_prepare_trb: ep0out: trb ffff8800af167000 bph 00000000 bpl 8112a000 size 00000000 ctrl 00000c43
     irq/33-dwc3-10808 [003] d...  2443.494108: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 af167000 00000000
     irq/33-dwc3-10808 [003] d...  2443.494109: dwc3_writel: addr ffffc90000ea0808 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.494110: dwc3_writel: addr ffffc90000ea0804 value af167000
     irq/33-dwc3-10808 [003] d...  2443.494110: dwc3_writel: addr ffffc90000ea0800 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.494111: dwc3_writel: addr ffffc90000ea080c value 00000406
     irq/33-dwc3-10808 [003] d...  2443.494113: dwc3_readl: addr ffffc90000ea080c value 00000406
     irq/33-dwc3-10808 [003] d...  2443.494116: dwc3_readl: addr ffffc90000ea080c value 00000006
     irq/33-dwc3-10808 [003] d...  2443.494117: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.494122: dwc3_readl: addr ffffc90000ea080c value 00000006
     irq/33-dwc3-10808 [003] d...  2443.494123: dwc3_writel: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d...  2443.494125: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d...  2443.494126: dwc3_writel: addr ffffc90000ea0408 value 00000100
     irq/33-dwc3-10808 [003] d.h.  2443.494128: dwc3_readl: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d.h.  2443.494130: dwc3_readl: addr ffffc90000ea0408 value 00000100
     irq/33-dwc3-10808 [003] d.h.  2443.494131: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494134: dwc3_readl: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d.h.  2443.494136: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494136: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d...  2443.494138: dwc3_event: event 0000c040
     irq/33-dwc3-10808 [003] d...  2443.494138: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase'
     irq/33-dwc3-10808 [003] d...  2443.494139: dwc3_ep0: Status Phase
     irq/33-dwc3-10808 [003] d...  2443.494139: dwc3_complete_trb: ep0out: trb ffff8800af167000 bph 00000000 bpl 8112a000 size 00000000 ctrl 00000c42
     irq/33-dwc3-10808 [003] d...  2443.494140: dwc3_prepare_trb: ep0out: trb ffff8800af167000 bph 00000000 bpl 8112a000 size 00000008 ctrl 00000c23
     irq/33-dwc3-10808 [003] d...  2443.494140: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 af167000 00000000
     irq/33-dwc3-10808 [003] d...  2443.494140: dwc3_writel: addr ffffc90000ea0808 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.494141: dwc3_writel: addr ffffc90000ea0804 value af167000
     irq/33-dwc3-10808 [003] d...  2443.494142: dwc3_writel: addr ffffc90000ea0800 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.494143: dwc3_writel: addr ffffc90000ea080c value 00000406
     irq/33-dwc3-10808 [003] d...  2443.494145: dwc3_readl: addr ffffc90000ea080c value 00000406
     irq/33-dwc3-10808 [003] d...  2443.494148: dwc3_readl: addr ffffc90000ea080c value 00000006
     irq/33-dwc3-10808 [003] d...  2443.494149: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.494153: dwc3_readl: addr ffffc90000ea080c value 00000006
     irq/33-dwc3-10808 [003] d...  2443.494154: dwc3_writel: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d...  2443.494156: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d...  2443.494157: dwc3_writel: addr ffffc90000ea0408 value 00000100
     irq/33-dwc3-10808 [003] d.h.  2443.494159: dwc3_readl: addr ffffc90000ea040c value 00000000
          <idle>-0     [003] d.h.  2443.494280: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] d.h.  2443.494283: dwc3_readl: addr ffffc90000ea0408 value 00000100
          <idle>-0     [003] d.h.  2443.494284: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494289: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.494291: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494292: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494295: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.494297: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494298: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494301: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.494303: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494304: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494308: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.494310: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494311: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494314: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.494316: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494316: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494319: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.494321: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494322: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494325: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.494327: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494328: dwc3_writel: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494331: dwc3_readl: addr ffffc90000ea040c value 00000008
          <idle>-0     [003] dNh.  2443.494333: dwc3_readl: addr ffffc90000ea0408 value 80000100
          <idle>-0     [003] dNh.  2443.494334: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494338: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.494340: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494341: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494344: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.494346: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494347: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494349: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.494351: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494352: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494356: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.494358: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494359: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494362: dwc3_readl: addr ffffc90000ea040c value 00000008
     irq/33-dwc3-10808 [003] d.h.  2443.494364: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d.h.  2443.494364: dwc3_writel: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d...  2443.494366: dwc3_event: event 0000c040
     irq/33-dwc3-10808 [003] d...  2443.494366: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase'
     irq/33-dwc3-10808 [003] d...  2443.494367: dwc3_ep0: Setup Phase
     irq/33-dwc3-10808 [003] d...  2443.494368: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0001 wIndex 0000 wLength 0
     irq/33-dwc3-10808 [003] d...  2443.494368: dwc3_ep0: Forwarding to gadget driver
     irq/33-dwc3-10808 [003] d...  2443.494370: dwc3_gadget_giveback: ep1in: req ffff880229f15b00 length 0/4096 ==> -108
     irq/33-dwc3-10808 [003] d...  2443.494371: dwc3_free_request: ep1in: req ffff880229f15b00 length 0/4096 ==> -108
     irq/33-dwc3-10808 [003] d...  2443.494373: dwc3_readl: addr ffffc90000ea0720 value 0000000f
     irq/33-dwc3-10808 [003] d...  2443.494374: dwc3_writel: addr ffffc90000ea0720 value 00000007
     irq/33-dwc3-10808 [003] d...  2443.494376: dwc3_gadget_giveback: ep1out: req ffff880229f15bc0 length 0/4096 ==> -108
     irq/33-dwc3-10808 [003] d...  2443.494376: dwc3_free_request: ep1out: req ffff880229f15bc0 length 0/4096 ==> -108
     irq/33-dwc3-10808 [003] d...  2443.494378: dwc3_readl: addr ffffc90000ea0720 value 00000007
     irq/33-dwc3-10808 [003] d...  2443.494379: dwc3_writel: addr ffffc90000ea0720 value 00000003
     irq/33-dwc3-10808 [003] d...  2443.494380: dwc3_gadget: Enabling ep1in-bulk
     irq/33-dwc3-10808 [003] d...  2443.494381: dwc3_gadget_ep_cmd: ep1in-bulk: cmd 'Set Endpoint Configuration' [1] params 00021004 06000700 00000000
     irq/33-dwc3-10808 [003] d...  2443.494381: dwc3_writel: addr ffffc90000ea0838 value 00021004
     irq/33-dwc3-10808 [003] d...  2443.494382: dwc3_writel: addr ffffc90000ea0834 value 06000700
     irq/33-dwc3-10808 [003] d...  2443.494383: dwc3_writel: addr ffffc90000ea0830 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.494384: dwc3_writel: addr ffffc90000ea083c value 00000401
     irq/33-dwc3-10808 [003] d...  2443.494386: dwc3_readl: addr ffffc90000ea083c value 00000401
     irq/33-dwc3-10808 [003] d...  2443.494389: dwc3_readl: addr ffffc90000ea083c value 00000001
     irq/33-dwc3-10808 [003] d...  2443.494390: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.494394: dwc3_gadget_ep_cmd: ep1in-bulk: cmd 'Set Endpoint Transfer Resource' [2] params 00000001 00000000 00000000
     irq/33-dwc3-10808 [003] d...  2443.494394: dwc3_writel: addr ffffc90000ea0838 value 00000001
     irq/33-dwc3-10808 [003] d...  2443.494395: dwc3_writel: addr ffffc90000ea0834 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.494396: dwc3_writel: addr ffffc90000ea0830 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.494397: dwc3_writel: addr ffffc90000ea083c value 00000402
     irq/33-dwc3-10808 [003] d...  2443.494399: dwc3_readl: addr ffffc90000ea083c value 00081002
     irq/33-dwc3-10808 [003] d...  2443.494400: dwc3_gadget: Command Complete --> 1
     irq/33-dwc3-10808 [003] d...  2443.494403: dwc3_gadget_ep_cmd: ep0out: cmd 'Set Stall' [4] params 00000000 00000000 00000000
     irq/33-dwc3-10808 [003] d...  2443.494403: dwc3_writel: addr ffffc90000ea0808 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.494404: dwc3_writel: addr ffffc90000ea0804 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.494405: dwc3_writel: addr ffffc90000ea0800 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.494406: dwc3_writel: addr ffffc90000ea080c value 00000404
     irq/33-dwc3-10808 [003] d...  2443.494408: dwc3_readl: addr ffffc90000ea080c value 00000004
     irq/33-dwc3-10808 [003] d...  2443.494409: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.494412: dwc3_prepare_trb: ep0out: trb ffff8800af167000 bph 00000000 bpl 8112a000 size 00000008 ctrl 00000c23
     irq/33-dwc3-10808 [003] d...  2443.494412: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 af167000 00000000
     irq/33-dwc3-10808 [003] d...  2443.494413: dwc3_writel: addr ffffc90000ea0808 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.494413: dwc3_writel: addr ffffc90000ea0804 value af167000
     irq/33-dwc3-10808 [003] d...  2443.494414: dwc3_writel: addr ffffc90000ea0800 value 00000000
     irq/33-dwc3-10808 [003] d...  2443.494415: dwc3_writel: addr ffffc90000ea080c value 00000406
     irq/33-dwc3-10808 [003] d...  2443.494417: dwc3_readl: addr ffffc90000ea080c value 00000406
     irq/33-dwc3-10808 [003] d...  2443.494420: dwc3_readl: addr ffffc90000ea080c value 00000006
     irq/33-dwc3-10808 [003] d...  2443.494421: dwc3_gadget: Command Complete --> 0
     irq/33-dwc3-10808 [003] d...  2443.494425: dwc3_readl: addr ffffc90000ea080c value 00000006
     irq/33-dwc3-10808 [003] d...  2443.494426: dwc3_writel: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d...  2443.494427: dwc3_event: event 000020c2
     irq/33-dwc3-10808 [003] d...  2443.494427: dwc3_ep0: Transfer Not Ready while ep0in in state 'Setup Phase'
     irq/33-dwc3-10808 [003] d...  2443.494428: dwc3_writel: addr ffffc90000ea040c value 00000004
     irq/33-dwc3-10808 [003] d...  2443.494430: dwc3_readl: addr ffffc90000ea0408 value 80000100
     irq/33-dwc3-10808 [003] d...  2443.494431: dwc3_writel: addr ffffc90000ea0408 value 00000100
     irq/33-dwc3-10808 [003] d.h.  2443.494433: dwc3_readl: addr ffffc90000ea040c value 00000000

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-07-07  2:10           ` John Youn
@ 2015-07-07  3:24             ` Felipe Balbi
       [not found]               ` <F1B223389110CE49B4CF055ABA2E5D3D7825118A@XAP-PVEXMBX02.xlnx.xilinx.com>
  0 siblings, 1 reply; 23+ messages in thread
From: Felipe Balbi @ 2015-07-07  3:24 UTC (permalink / raw)
  To: John Youn
  Cc: balbi, Subbaraya Sundeep Bhatta, gregkh, linux-usb, linux-kernel,
	stable, Subbaraya Sundeep Bhatta

[-- Attachment #1: Type: text/plain, Size: 3076 bytes --]

Hi,

On Tue, Jul 07, 2015 at 02:10:26AM +0000, John Youn wrote:
> On 7/1/2015 8:00 PM, Felipe Balbi wrote:
> > On Thu, Jul 02, 2015 at 02:03:14AM +0000, John Youn wrote:
> >> On 6/29/2015 2:48 PM, Felipe Balbi wrote:
> >>> Hi again,
> >>>
> >>> On Mon, Jun 29, 2015 at 04:47:01PM -0500, Felipe Balbi wrote:
> >>>> On Thu, May 21, 2015 at 03:46:48PM +0530, Subbaraya Sundeep Bhatta wrote:
> >>>>> We need to return error to caller if command is not sent to
> >>>>> controller succesfully.
> >>>>>
> >>>>> Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
> >>>>> Fixes: 72246da40f37 (usb: Introduce DesignWare USB3 DRD Driver)
> >>>>> Cc: <stable@vger.kernel.org>
> >>>>> ---
> >>>>> v2 changes:
> >>>>> 	Added Fixes and Cc in commit message.
> >>>>
> >>>> I noticed that this breaks at least my AM437x silicon with DWC3 2.40a
> >>>> when used with g_zero and testusb. As of now, it could be that silicon
> >>>> is mis-behaving because I got a Transfer Complete before the failing Set
> >>>> Endpoint Transfer Resource command.
> >>>>
> >>>> In any case, can you run on your setup with g_zero and test.sh/testusb
> >>>> [1]/[2] just to verify that it really works for you ?
> >>>>
> >>>> Meanwhile, I'll continue testing on my end.
> >>>>
> >>>> cheers
> >>>>
> >>>> [1] https://gitorious.org/usb/usb-tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:testusb.c
> >>>> [2] https://gitorious.org/usb/usb-tools/source/47ef073d9b6c0eae816204c81374aafb795c6e40:test.sh
> >>>
> >>> Adding John here. John, any chance you could fire up dwc3 on HAPS and
> >>> see wether it works or fails for you ?
> >>>
> >>> cheers
> >>>
> >>
> >> Hi Felipe,
> >>
> >> Just an update on this.
> >>
> >> I'm trying to get this working with our latest IP with dwc3 from your
> >> testing/next branch. It fails the usbtest with a problem unrelated to
> >> this patch.
> >>
> >> It passes on 4.1.1.
> >>
> >> I'll have to look into the failure but I won't get to it until next
> >> week as I'm off the rest of this week.
> > 
> > interesting... If you could post failure signature, I can help looking
> > at it, but I guess it's too late to ask :-)
> > 
> > thanks for helping though
> > 
> 
> 
> Hi Felipe,
> 
> Nevermind about my issue, it ended up being a setup-related
> problem.
> 
> I actually do see the same error as you due to this series of
> patches. Except I see it happening before even the first
> iteration. I get a completion status of 1 for the Set Endpoint
> Transfer Resources command. I'm not sure why this is.
> 
> I don't see any conflict with any previous Transfer Complete.
> 
> I will have to consult with some hardware engineers tomorrow to
> look into it further.

cool, thanks. Just let me know if it ends up being something larger,
then we can revert that commit for the time being until we come to a
conclusion. Thanks a lot for helping with testing.

> The trace is attached.

thanks a lot :-) Do you mind letting me know which version are you
using? 3.00a ?

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* RE: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-07-06 17:07       ` Felipe Balbi
@ 2015-07-07  5:01         ` Subbaraya Sundeep Bhatta
  2015-07-08  9:50         ` Subbaraya Sundeep Bhatta
  1 sibling, 0 replies; 23+ messages in thread
From: Subbaraya Sundeep Bhatta @ 2015-07-07  5:01 UTC (permalink / raw)
  To: balbi; +Cc: gregkh, linux-usb, linux-kernel, stable

Hi Felipe,

> -----Original Message-----
> From: Felipe Balbi [mailto:balbi@ti.com]
> Sent: Monday, July 06, 2015 10:38 PM
> To: Subbaraya Sundeep Bhatta
> Cc: balbi@ti.com; gregkh@linuxfoundation.org; linux-usb@vger.kernel.org;
> linux-kernel@vger.kernel.org; stable@vger.kernel.org
> Subject: Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command
> sent to DEPCMD register fails
> 
> On Wed, Jul 01, 2015 at 07:29:28AM +0000, Subbaraya Sundeep Bhatta
> wrote:
> > Hi Felipe,
> >
> > > -----Original Message-----
> > > From: Felipe Balbi [mailto:balbi@ti.com]
> > > Sent: Tuesday, June 30, 2015 3:17 AM
> > > To: Subbaraya Sundeep Bhatta
> > > Cc: balbi@ti.com; gregkh@linuxfoundation.org;
> > > linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org;
> > > stable@vger.kernel.org; Subbaraya Sundeep Bhatta
> > > Subject: Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if
> > > command sent to DEPCMD register fails
> > >
> > > Hi,
> > >
> > > On Thu, May 21, 2015 at 03:46:48PM +0530, Subbaraya Sundeep
> Bhatta
> > > wrote:
> > > > We need to return error to caller if command is not sent to
> > > > controller succesfully.
> > > >
> > > > Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
> > > > Fixes: 72246da40f37 (usb: Introduce DesignWare USB3 DRD Driver)
> > > > Cc: <stable@vger.kernel.org>
> > > > ---
> > > > v2 changes:
> > > > 	Added Fixes and Cc in commit message.
> > >
> > > I noticed that this breaks at least my AM437x silicon with DWC3
> > > 2.40a when used with g_zero and testusb. As of now, it could be that
> > > silicon is mis-behaving because I got a Transfer Complete before the
> > > failing Set Endpoint Transfer Resource command.
> > >
> > > In any case, can you run on your setup with g_zero and
> > > test.sh/testusb [1]/[2] just to verify that it really works for you ?
> >
> > Ok I will do that.
> 
> Did you manage to run the test I asked ? If we don't get down to this, I'll
> have to revert your patch as it regresses my platforms.

Sorry I caught up with some other customer reported issue on Zynq (Chipidea). I will do it by this weekend at any cost. Please wait.

Thanks,
Sundeep.B.S.

> 
> --
> balbi

^ permalink raw reply	[flat|nested] 23+ messages in thread

* RE: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-07-06 17:07       ` Felipe Balbi
  2015-07-07  5:01         ` Subbaraya Sundeep Bhatta
@ 2015-07-08  9:50         ` Subbaraya Sundeep Bhatta
  2015-07-08 18:16           ` Felipe Balbi
  1 sibling, 1 reply; 23+ messages in thread
From: Subbaraya Sundeep Bhatta @ 2015-07-08  9:50 UTC (permalink / raw)
  To: balbi; +Cc: gregkh, linux-usb, linux-kernel, stable

Hi Felipe,

> -----Original Message-----
> From: Subbaraya Sundeep Bhatta
> Sent: Tuesday, July 07, 2015 10:32 AM
> To: 'balbi@ti.com'
> Cc: gregkh@linuxfoundation.org; linux-usb@vger.kernel.org; linux-
> kernel@vger.kernel.org; stable@vger.kernel.org
> Subject: RE: [PATCH v2 3/3] usb: dwc3: gadget: return error if command
> sent to DEPCMD register fails
>
> Hi Felipe,
>
> > -----Original Message-----
> > From: Felipe Balbi [mailto:balbi@ti.com]
> > Sent: Monday, July 06, 2015 10:38 PM
> > To: Subbaraya Sundeep Bhatta
> > Cc: balbi@ti.com; gregkh@linuxfoundation.org;
> > linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org;
> > stable@vger.kernel.org
> > Subject: Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command
> > sent to DEPCMD register fails
> >
> > On Wed, Jul 01, 2015 at 07:29:28AM +0000, Subbaraya Sundeep Bhatta
> > wrote:
> > > Hi Felipe,
> > >
> > > > -----Original Message-----
> > > > From: Felipe Balbi [mailto:balbi@ti.com]
> > > > Sent: Tuesday, June 30, 2015 3:17 AM
> > > > To: Subbaraya Sundeep Bhatta
> > > > Cc: balbi@ti.com; gregkh@linuxfoundation.org;
> > > > linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org;
> > > > stable@vger.kernel.org; Subbaraya Sundeep Bhatta
> > > > Subject: Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if
> > > > command sent to DEPCMD register fails
> > > >
> > > > Hi,
> > > >
> > > > On Thu, May 21, 2015 at 03:46:48PM +0530, Subbaraya Sundeep
> > Bhatta
> > > > wrote:
> > > > > We need to return error to caller if command is not sent to
> > > > > controller succesfully.
> > > > >
> > > > > Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
> > > > > Fixes: 72246da40f37 (usb: Introduce DesignWare USB3 DRD Driver)
> > > > > Cc: <stable@vger.kernel.org>
> > > > > ---
> > > > > v2 changes:
> > > > >       Added Fixes and Cc in commit message.
> > > >
> > > > I noticed that this breaks at least my AM437x silicon with DWC3
> > > > 2.40a when used with g_zero and testusb. As of now, it could be
> > > > that silicon is mis-behaving because I got a Transfer Complete
> > > > before the failing Set Endpoint Transfer Resource command.
> > > >
> > > > In any case, can you run on your setup with g_zero and
> > > > test.sh/testusb [1]/[2] just to verify that it really works for you ?

Can you please send test.sh and testusb.c in attachment. I guess am not able to access gitorious because of its migration.

Thanks,
Sundeep

> > >
> > > Ok I will do that.
> >
> > Did you manage to run the test I asked ? If we don't get down to this,
> > I'll have to revert your patch as it regresses my platforms.
>
> Sorry I caught up with some other customer reported issue on Zynq
> (Chipidea). I will do it by this weekend at any cost. Please wait.
>
> Thanks,
> Sundeep.B.S.
>
> >
> > --
> > balbi


This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-07-08  9:50         ` Subbaraya Sundeep Bhatta
@ 2015-07-08 18:16           ` Felipe Balbi
  0 siblings, 0 replies; 23+ messages in thread
From: Felipe Balbi @ 2015-07-08 18:16 UTC (permalink / raw)
  To: Subbaraya Sundeep Bhatta; +Cc: balbi, gregkh, linux-usb, linux-kernel, stable


[-- Attachment #1.1: Type: text/plain, Size: 496 bytes --]

Hi,

On Wed, Jul 08, 2015 at 09:50:47AM +0000, Subbaraya Sundeep Bhatta wrote:
> > > > > In any case, can you run on your setup with g_zero and
> > > > > test.sh/testusb [1]/[2] just to verify that it really works for you ?
> 
> Can you please send test.sh and testusb.c in attachment. I guess am
> not able to access gitorious because of its migration.

heh, gitorious is closing down ? Wow, I'll move the repository to
github after vacations, meanwhile, both attached.

-- 
balbi

[-- Attachment #1.2: testusb --]
[-- Type: application/octet-stream, Size: 28648 bytes --]

[-- Attachment #1.3: test.sh --]
[-- Type: application/x-sh, Size: 5989 bytes --]

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
       [not found]               ` <F1B223389110CE49B4CF055ABA2E5D3D7825118A@XAP-PVEXMBX02.xlnx.xilinx.com>
@ 2015-07-11 19:29                 ` Felipe Balbi
  2015-07-13 17:50                   ` John Youn
  0 siblings, 1 reply; 23+ messages in thread
From: Felipe Balbi @ 2015-07-11 19:29 UTC (permalink / raw)
  To: Subbaraya Sundeep Bhatta
  Cc: balbi, John Youn, gregkh, linux-usb, linux-kernel, stable

[-- Attachment #1: Type: text/plain, Size: 2016 bytes --]

Hi,

On Sat, Jul 11, 2015 at 05:17:32PM +0000, Subbaraya Sundeep Bhatta wrote:
> > > >> Hi Felipe,
> > > >>
> > > >> Just an update on this.
> > > >>
> > > >> I'm trying to get this working with our latest IP with dwc3 from
> > > >> your testing/next branch. It fails the usbtest with a problem
> > > >> unrelated to this patch.
> > > >>.
> > > >> It passes on 4.1.1.
> > > >>
> > > >> I'll have to look into the failure but I won't get to it until next
> > > >> week as I'm off the rest of this week.
> > > >
> > > > interesting... If you could post failure signature, I can help
> > > > looking at it, but I guess it's too late to ask :-)
> > > >
> > > > thanks for helping though
> > > >
> > >
> > >
> > > Hi Felipe,
> > >
> > > Nevermind about my issue, it ended up being a setup-related problem.
> > >
> > > I actually do see the same error as you due to this series of patches.
> > > Except I see it happening before even the first iteration. I get a
> > > completion status of 1 for the Set Endpoint Transfer Resources
> > > command. I'm not sure why this is.
> > >
> > > I don't see any conflict with any previous Transfer Complete.
> 
> Same behavior at my end too. Fails before first iteration and I get
> completion status of 1 for Set Endpoint Resource command. Attached the
> logs of testing done with this patch and without this patch.
> Without this patch I often see completion status of 1 for Set Endpoint
> Transfer Resources command for Bulk and Isoc endpoints but test
> proceeds because driver just logs command completion status and moves
> on. We can revert this patch for time being. IP version is 2.90a.

yeah, that's what I mean, it really seems like it's the IP misbehaving.

John, let's try to figure out what's the root cause of this, we really
want to use command completion status at some point, but for now we need
to revert the patch :-(

Let me know if you want me to log STARS ticket on your solvnet system.

cheers

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-07-11 19:29                 ` Felipe Balbi
@ 2015-07-13 17:50                   ` John Youn
  2015-07-13 18:58                     ` Felipe Balbi
  0 siblings, 1 reply; 23+ messages in thread
From: John Youn @ 2015-07-13 17:50 UTC (permalink / raw)
  To: balbi, Subbaraya Sundeep Bhatta
  Cc: John Youn, gregkh, linux-usb, linux-kernel, stable

On 7/11/2015 12:29 PM, Felipe Balbi wrote:
> Hi,
> 
> On Sat, Jul 11, 2015 at 05:17:32PM +0000, Subbaraya Sundeep Bhatta wrote:
>>>>>> Hi Felipe,
>>>>>>
>>>>>> Just an update on this.
>>>>>>
>>>>>> I'm trying to get this working with our latest IP with dwc3 from
>>>>>> your testing/next branch. It fails the usbtest with a problem
>>>>>> unrelated to this patch.
>>>>>> .
>>>>>> It passes on 4.1.1.
>>>>>>
>>>>>> I'll have to look into the failure but I won't get to it until next
>>>>>> week as I'm off the rest of this week.
>>>>>
>>>>> interesting... If you could post failure signature, I can help
>>>>> looking at it, but I guess it's too late to ask :-)
>>>>>
>>>>> thanks for helping though
>>>>>
>>>>
>>>>
>>>> Hi Felipe,
>>>>
>>>> Nevermind about my issue, it ended up being a setup-related problem.
>>>>
>>>> I actually do see the same error as you due to this series of patches.
>>>> Except I see it happening before even the first iteration. I get a
>>>> completion status of 1 for the Set Endpoint Transfer Resources
>>>> command. I'm not sure why this is.
>>>>
>>>> I don't see any conflict with any previous Transfer Complete.
>>
>> Same behavior at my end too. Fails before first iteration and I get
>> completion status of 1 for Set Endpoint Resource command. Attached the
>> logs of testing done with this patch and without this patch.
>> Without this patch I often see completion status of 1 for Set Endpoint
>> Transfer Resources command for Bulk and Isoc endpoints but test
>> proceeds because driver just logs command completion status and moves
>> on. We can revert this patch for time being. IP version is 2.90a.
> 
> yeah, that's what I mean, it really seems like it's the IP misbehaving.
> 
> John, let's try to figure out what's the root cause of this, we really
> want to use command completion status at some point, but for now we need
> to revert the patch :-(
> 
> Let me know if you want me to log STARS ticket on your solvnet system.
> 
> cheers
> 

Hi Felipe,

We found the issue last week. 

The start config command isn't getting called during SET_INTERFACE. Thus the transfer resource index isn't getting reset, and with multiple SET_INTERFACE commands it will eventually exhaust the resources.

I tried out a fix and it works for me. I'll send it out separately for review.

Also, I noticed that the trace message that shows control transfers doesn't show the SET_INTERFACE properly. Any idea why this is?

For example, here is the line in the trace that corresponds to the SET_INTERFACE:
irq/33-dwc3-10808 [003] d...  2443.494368: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0001 wIndex 0000 wLength 0

John


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-07-13 17:50                   ` John Youn
@ 2015-07-13 18:58                     ` Felipe Balbi
  2015-07-15  9:49                       ` Subbaraya Sundeep Bhatta
  0 siblings, 1 reply; 23+ messages in thread
From: Felipe Balbi @ 2015-07-13 18:58 UTC (permalink / raw)
  To: John Youn
  Cc: balbi, Subbaraya Sundeep Bhatta, gregkh, linux-usb, linux-kernel, stable

[-- Attachment #1: Type: text/plain, Size: 3136 bytes --]

Hi,

On Mon, Jul 13, 2015 at 05:50:49PM +0000, John Youn wrote:
> On 7/11/2015 12:29 PM, Felipe Balbi wrote:
> > Hi,
> > 
> > On Sat, Jul 11, 2015 at 05:17:32PM +0000, Subbaraya Sundeep Bhatta wrote:
> >>>>>> Hi Felipe,
> >>>>>>
> >>>>>> Just an update on this.
> >>>>>>
> >>>>>> I'm trying to get this working with our latest IP with dwc3 from
> >>>>>> your testing/next branch. It fails the usbtest with a problem
> >>>>>> unrelated to this patch.
> >>>>>> .
> >>>>>> It passes on 4.1.1.
> >>>>>>
> >>>>>> I'll have to look into the failure but I won't get to it until next
> >>>>>> week as I'm off the rest of this week.
> >>>>>
> >>>>> interesting... If you could post failure signature, I can help
> >>>>> looking at it, but I guess it's too late to ask :-)
> >>>>>
> >>>>> thanks for helping though
> >>>>>
> >>>>
> >>>>
> >>>> Hi Felipe,
> >>>>
> >>>> Nevermind about my issue, it ended up being a setup-related problem.
> >>>>
> >>>> I actually do see the same error as you due to this series of patches.
> >>>> Except I see it happening before even the first iteration. I get a
> >>>> completion status of 1 for the Set Endpoint Transfer Resources
> >>>> command. I'm not sure why this is.
> >>>>
> >>>> I don't see any conflict with any previous Transfer Complete.
> >>
> >> Same behavior at my end too. Fails before first iteration and I get
> >> completion status of 1 for Set Endpoint Resource command. Attached the
> >> logs of testing done with this patch and without this patch.
> >> Without this patch I often see completion status of 1 for Set Endpoint
> >> Transfer Resources command for Bulk and Isoc endpoints but test
> >> proceeds because driver just logs command completion status and moves
> >> on. We can revert this patch for time being. IP version is 2.90a.
> > 
> > yeah, that's what I mean, it really seems like it's the IP misbehaving.
> > 
> > John, let's try to figure out what's the root cause of this, we really
> > want to use command completion status at some point, but for now we need
> > to revert the patch :-(
> > 
> > Let me know if you want me to log STARS ticket on your solvnet system.
> > 
> > cheers
> > 
> 
> Hi Felipe,
> 
> We found the issue last week. 
> 
> The start config command isn't getting called during SET_INTERFACE.
> Thus the transfer resource index isn't getting reset, and with
> multiple SET_INTERFACE commands it will eventually exhaust the
> resources.
> 
> I tried out a fix and it works for me. I'll send it out separately for
> review.

Thanks a lot John. Not sure how come we missed that for such a long time
:-) Let's Cc stable and get it plugged ASAP :-)

> Also, I noticed that the trace message that shows control transfers
> doesn't show the SET_INTERFACE properly. Any idea why this is?
> 
> For example, here is the line in the trace that corresponds to the
> SET_INTERFACE:
> irq/33-dwc3-10808 [003] d...  2443.494368: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0001 wIndex 0000 wLength 0

I'll have a look at this when I'm back in the office (Jul 18th).

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* RE: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-07-13 18:58                     ` Felipe Balbi
@ 2015-07-15  9:49                       ` Subbaraya Sundeep Bhatta
  2015-07-20 17:51                         ` Felipe Balbi
  0 siblings, 1 reply; 23+ messages in thread
From: Subbaraya Sundeep Bhatta @ 2015-07-15  9:49 UTC (permalink / raw)
  To: balbi, John Youn; +Cc: gregkh, linux-usb, linux-kernel, stable

Hi John,

> -----Original Message-----
> From: Felipe Balbi [mailto:balbi@ti.com]
> Sent: Tuesday, July 14, 2015 12:29 AM
> To: John Youn
> Cc: balbi@ti.com; Subbaraya Sundeep Bhatta; gregkh@linuxfoundation.org;
> linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org;
> stable@vger.kernel.org
> Subject: Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command
> sent to DEPCMD register fails
> 
> Hi,
> 
> On Mon, Jul 13, 2015 at 05:50:49PM +0000, John Youn wrote:
> > On 7/11/2015 12:29 PM, Felipe Balbi wrote:
> > > Hi,
> > >
> > > On Sat, Jul 11, 2015 at 05:17:32PM +0000, Subbaraya Sundeep Bhatta
> wrote:
> > >>>>>> Hi Felipe,
> > >>>>>>
> > >>>>>> Just an update on this.
> > >>>>>>
> > >>>>>> I'm trying to get this working with our latest IP with dwc3
> > >>>>>> from your testing/next branch. It fails the usbtest with a
> > >>>>>> problem unrelated to this patch.
> > >>>>>> .
> > >>>>>> It passes on 4.1.1.
> > >>>>>>
> > >>>>>> I'll have to look into the failure but I won't get to it until
> > >>>>>> next week as I'm off the rest of this week.
> > >>>>>
> > >>>>> interesting... If you could post failure signature, I can help
> > >>>>> looking at it, but I guess it's too late to ask :-)
> > >>>>>
> > >>>>> thanks for helping though
> > >>>>>
> > >>>>
> > >>>>
> > >>>> Hi Felipe,
> > >>>>
> > >>>> Nevermind about my issue, it ended up being a setup-related
> problem.
> > >>>>
> > >>>> I actually do see the same error as you due to this series of patches.
> > >>>> Except I see it happening before even the first iteration. I get
> > >>>> a completion status of 1 for the Set Endpoint Transfer Resources
> > >>>> command. I'm not sure why this is.
> > >>>>
> > >>>> I don't see any conflict with any previous Transfer Complete.
> > >>
> > >> Same behavior at my end too. Fails before first iteration and I get
> > >> completion status of 1 for Set Endpoint Resource command. Attached
> > >> the logs of testing done with this patch and without this patch.
> > >> Without this patch I often see completion status of 1 for Set
> > >> Endpoint Transfer Resources command for Bulk and Isoc endpoints but
> > >> test proceeds because driver just logs command completion status
> > >> and moves on. We can revert this patch for time being. IP version is
> 2.90a.
> > >
> > > yeah, that's what I mean, it really seems like it's the IP misbehaving.
> > >
> > > John, let's try to figure out what's the root cause of this, we
> > > really want to use command completion status at some point, but for
> > > now we need to revert the patch :-(
> > >
> > > Let me know if you want me to log STARS ticket on your solvnet system.
> > >
> > > cheers
> > >
> >
> > Hi Felipe,
> >
> > We found the issue last week.
> >
> > The start config command isn't getting called during SET_INTERFACE.
> > Thus the transfer resource index isn't getting reset, and with
> > multiple SET_INTERFACE commands it will eventually exhaust the
> > resources.
> >
> > I tried out a fix and it works for me. I'll send it out separately for
> > review.

Thanks John for debugging :). Yes we are not handling SET_INTERFACE similar to
SET_CONFIGURATION in driver. I guess we follow 
"Alternate Initialization on SetInterface Request" sequence as per data book.
Felipe can confirm this.

> 
> Thanks a lot John. Not sure how come we missed that for such a long time
> :-) Let's Cc stable and get it plugged ASAP :-)
> 
> > Also, I noticed that the trace message that shows control transfers
> > doesn't show the SET_INTERFACE properly. Any idea why this is?
> >
> > For example, here is the line in the trace that corresponds to the
> > SET_INTERFACE:
> > irq/33-dwc3-10808 [003] d...  2443.494368: dwc3_ctrl_req:
> bRequestType
> > 01 bRequest 0b wValue 0001 wIndex 0000 wLength 0

Can you please elaborate? What is expected here? Did you mean it shows wrong info
(other than the request actually sent by Host) ?

Thanks,
Sundeep.B.S.

> 
> I'll have a look at this when I'm back in the office (Jul 18th).
> 
> --
> balbi

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-07-15  9:49                       ` Subbaraya Sundeep Bhatta
@ 2015-07-20 17:51                         ` Felipe Balbi
  2015-07-20 18:16                           ` John Youn
  0 siblings, 1 reply; 23+ messages in thread
From: Felipe Balbi @ 2015-07-20 17:51 UTC (permalink / raw)
  To: Subbaraya Sundeep Bhatta
  Cc: balbi, John Youn, gregkh, linux-usb, linux-kernel, stable

[-- Attachment #1: Type: text/plain, Size: 8295 bytes --]

Hi,

On Wed, Jul 15, 2015 at 09:49:05AM +0000, Subbaraya Sundeep Bhatta wrote:
> Hi John,
> 
> > -----Original Message-----
> > From: Felipe Balbi [mailto:balbi@ti.com]
> > Sent: Tuesday, July 14, 2015 12:29 AM
> > To: John Youn
> > Cc: balbi@ti.com; Subbaraya Sundeep Bhatta; gregkh@linuxfoundation.org;
> > linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org;
> > stable@vger.kernel.org
> > Subject: Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command
> > sent to DEPCMD register fails
> > 
> > Hi,
> > 
> > On Mon, Jul 13, 2015 at 05:50:49PM +0000, John Youn wrote:
> > > On 7/11/2015 12:29 PM, Felipe Balbi wrote:
> > > > Hi,
> > > >
> > > > On Sat, Jul 11, 2015 at 05:17:32PM +0000, Subbaraya Sundeep Bhatta
> > wrote:
> > > >>>>>> Hi Felipe,
> > > >>>>>>
> > > >>>>>> Just an update on this.
> > > >>>>>>
> > > >>>>>> I'm trying to get this working with our latest IP with dwc3
> > > >>>>>> from your testing/next branch. It fails the usbtest with a
> > > >>>>>> problem unrelated to this patch.
> > > >>>>>> .
> > > >>>>>> It passes on 4.1.1.
> > > >>>>>>
> > > >>>>>> I'll have to look into the failure but I won't get to it until
> > > >>>>>> next week as I'm off the rest of this week.
> > > >>>>>
> > > >>>>> interesting... If you could post failure signature, I can help
> > > >>>>> looking at it, but I guess it's too late to ask :-)
> > > >>>>>
> > > >>>>> thanks for helping though
> > > >>>>>
> > > >>>>
> > > >>>>
> > > >>>> Hi Felipe,
> > > >>>>
> > > >>>> Nevermind about my issue, it ended up being a setup-related
> > problem.
> > > >>>>
> > > >>>> I actually do see the same error as you due to this series of patches.
> > > >>>> Except I see it happening before even the first iteration. I get
> > > >>>> a completion status of 1 for the Set Endpoint Transfer Resources
> > > >>>> command. I'm not sure why this is.
> > > >>>>
> > > >>>> I don't see any conflict with any previous Transfer Complete.
> > > >>
> > > >> Same behavior at my end too. Fails before first iteration and I get
> > > >> completion status of 1 for Set Endpoint Resource command. Attached
> > > >> the logs of testing done with this patch and without this patch.
> > > >> Without this patch I often see completion status of 1 for Set
> > > >> Endpoint Transfer Resources command for Bulk and Isoc endpoints but
> > > >> test proceeds because driver just logs command completion status
> > > >> and moves on. We can revert this patch for time being. IP version is
> > 2.90a.
> > > >
> > > > yeah, that's what I mean, it really seems like it's the IP misbehaving.
> > > >
> > > > John, let's try to figure out what's the root cause of this, we
> > > > really want to use command completion status at some point, but for
> > > > now we need to revert the patch :-(
> > > >
> > > > Let me know if you want me to log STARS ticket on your solvnet system.
> > > >
> > > > cheers
> > > >
> > >
> > > Hi Felipe,
> > >
> > > We found the issue last week.
> > >
> > > The start config command isn't getting called during SET_INTERFACE.
> > > Thus the transfer resource index isn't getting reset, and with
> > > multiple SET_INTERFACE commands it will eventually exhaust the
> > > resources.
> > >
> > > I tried out a fix and it works for me. I'll send it out separately for
> > > review.
> 
> Thanks John for debugging :). Yes we are not handling SET_INTERFACE similar to
> SET_CONFIGURATION in driver. I guess we follow 
> "Alternate Initialization on SetInterface Request" sequence as per data book.
> Felipe can confirm this.
> 
> > 
> > Thanks a lot John. Not sure how come we missed that for such a long time
> > :-) Let's Cc stable and get it plugged ASAP :-)
> > 
> > > Also, I noticed that the trace message that shows control transfers
> > > doesn't show the SET_INTERFACE properly. Any idea why this is?
> > >
> > > For example, here is the line in the trace that corresponds to the
> > > SET_INTERFACE:
> > > irq/33-dwc3-10808 [003] d...  2443.494368: dwc3_ctrl_req:
> > bRequestType
> > > 01 bRequest 0b wValue 0001 wIndex 0000 wLength 0
> 
> Can you please elaborate? What is expected here? Did you mean it shows wrong info
> (other than the request actually sent by Host) ?

I have been looking more at this and the reason why we're failing is a
patch from Paul, which I quote below:

commit b23c843992b659d537514e6493d673284f5d6724
Author: Paul Zimmerman <Paul.Zimmerman@synopsys.com>
Date:   Fri Sep 30 10:58:42 2011 +0300

    usb: dwc3: gadget: fix DEPSTARTCFG for non-EP0 EPs
    
    DEPSTARTCFG for non-EP0 EPs must only be sent once per config
    
    [ balbi@ti.com : changed config_start to start_config_issued ]
    
    Signed-off-by: Paul Zimmerman <paulz@synopsys.com>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index 0231eba1f53d..502582ce1fc6 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -529,6 +529,7 @@ static inline void dwc3_trb_to_nat(struct dwc3_trb_hw *hw, struct dwc3_trb *nat)
  * @ep0_status_pending: ep0 status response without a req is pending
  * @ep0_bounced: true when we used bounce buffer
  * @ep0_expect_in: true when we expect a DATA IN transfer
+ * @start_config_issued: true when StartConfig command has been issued
  * @ep0_next_event: hold the next expected event
  * @ep0state: state of endpoint zero
  * @link_state: link state
@@ -576,6 +577,7 @@ struct dwc3 {
 	unsigned		ep0_status_pending:1;
 	unsigned		ep0_bounced:1;
 	unsigned		ep0_expect_in:1;
+	unsigned		start_config_issued:1;
 
 	enum dwc3_ep0_next	ep0_next_event;
 	enum dwc3_ep0_state	ep0state;
diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c
index cc27c4ec498d..2def48ed30ea 100644
--- a/drivers/usb/dwc3/ep0.c
+++ b/drivers/usb/dwc3/ep0.c
@@ -455,6 +455,7 @@ static int dwc3_ep0_set_config(struct dwc3 *dwc, struct usb_ctrlrequest *ctrl)
 	u32 cfg;
 	int ret;
 
+	dwc->start_config_issued = false;
 	cfg = le16_to_cpu(ctrl->wValue);
 
 	switch (dwc->dev_state) {
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index b2820aa9fa46..9c0174a8f46c 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -237,8 +237,12 @@ static int dwc3_gadget_start_config(struct dwc3 *dwc, struct dwc3_ep *dep)
 	if (dep->number != 1) {
 		cmd = DWC3_DEPCMD_DEPSTARTCFG;
 		/* XferRscIdx == 0 for ep0 and 2 for the remaining */
-		if (dep->number > 1)
+		if (dep->number > 1) {
+			if (dwc->start_config_issued)
+				return 0;
+			dwc->start_config_issued = true;
 			cmd |= DWC3_DEPCMD_PARAM(2);
+		}
 
 		return dwc3_send_gadget_ep_cmd(dwc, 0, cmd, &params);
 	}
@@ -1161,6 +1165,8 @@ static int dwc3_gadget_start(struct usb_gadget *g,
 	reg |= DWC3_DCFG_SUPERSPEED;
 	dwc3_writel(dwc->regs, DWC3_DCFG, reg);
 
+	dwc->start_config_issued = false;
+
 	/* Start with SuperSpeed Default */
 	dwc3_gadget_ep0_desc.wMaxPacketSize = cpu_to_le16(512);
 
@@ -1592,6 +1598,7 @@ static void dwc3_gadget_disconnect_interrupt(struct dwc3 *dwc)
 
 	dwc3_stop_active_transfers(dwc);
 	dwc3_disconnect_gadget(dwc);
+	dwc->start_config_issued = false;
 
 	dwc->gadget.speed = USB_SPEED_UNKNOWN;
 }
@@ -1643,6 +1650,7 @@ static void dwc3_gadget_reset_interrupt(struct dwc3 *dwc)
 
 	dwc3_stop_active_transfers(dwc);
 	dwc3_clear_stall_all_ep(dwc);
+	dwc->start_config_issued = false;
 
 	/* Reset device address to zero */
 	reg = dwc3_readl(dwc->regs, DWC3_DCFG);


So the problem is that even though endpoint *is* indeed disabled,
start_config_issued is still true and we return before sending that
command. According to Paul's patch it's important that we send
start_config only once per config.

However, I do see that section 9.1.5, table 9-5 of Databook 2.90a has no
conditionals around DEPSTARTCFG. Reverting that patch from Paul, I can
see that it all works fine.

I'll send the revert still today, but I need you guys to confirm that it
really works on your platforms. According to Paul he "can't see how the
driver would work without" start_config_issued trick.

cheers

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-07-20 17:51                         ` Felipe Balbi
@ 2015-07-20 18:16                           ` John Youn
  2015-07-20 18:37                             ` Felipe Balbi
  0 siblings, 1 reply; 23+ messages in thread
From: John Youn @ 2015-07-20 18:16 UTC (permalink / raw)
  To: balbi, Subbaraya Sundeep Bhatta
  Cc: John Youn, gregkh, linux-usb, linux-kernel, stable

On 7/20/2015 10:51 AM, Felipe Balbi wrote:
> Hi,
> 
> On Wed, Jul 15, 2015 at 09:49:05AM +0000, Subbaraya Sundeep Bhatta wrote:
>> Hi John,
>>
>>> -----Original Message-----
>>> From: Felipe Balbi [mailto:balbi@ti.com]
>>> Sent: Tuesday, July 14, 2015 12:29 AM
>>> To: John Youn
>>> Cc: balbi@ti.com; Subbaraya Sundeep Bhatta; gregkh@linuxfoundation.org;
>>> linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org;
>>> stable@vger.kernel.org
>>> Subject: Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command
>>> sent to DEPCMD register fails
>>>
>>> Hi,
>>>
>>> On Mon, Jul 13, 2015 at 05:50:49PM +0000, John Youn wrote:
>>>> On 7/11/2015 12:29 PM, Felipe Balbi wrote:
>>>>> Hi,
>>>>>
>>>>> On Sat, Jul 11, 2015 at 05:17:32PM +0000, Subbaraya Sundeep Bhatta
>>> wrote:
>>>>>>>>>> Hi Felipe,
>>>>>>>>>>
>>>>>>>>>> Just an update on this.
>>>>>>>>>>
>>>>>>>>>> I'm trying to get this working with our latest IP with dwc3
>>>>>>>>>> from your testing/next branch. It fails the usbtest with a
>>>>>>>>>> problem unrelated to this patch.
>>>>>>>>>> .
>>>>>>>>>> It passes on 4.1.1.
>>>>>>>>>>
>>>>>>>>>> I'll have to look into the failure but I won't get to it until
>>>>>>>>>> next week as I'm off the rest of this week.
>>>>>>>>>
>>>>>>>>> interesting... If you could post failure signature, I can help
>>>>>>>>> looking at it, but I guess it's too late to ask :-)
>>>>>>>>>
>>>>>>>>> thanks for helping though
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Hi Felipe,
>>>>>>>>
>>>>>>>> Nevermind about my issue, it ended up being a setup-related
>>> problem.
>>>>>>>>
>>>>>>>> I actually do see the same error as you due to this series of patches.
>>>>>>>> Except I see it happening before even the first iteration. I get
>>>>>>>> a completion status of 1 for the Set Endpoint Transfer Resources
>>>>>>>> command. I'm not sure why this is.
>>>>>>>>
>>>>>>>> I don't see any conflict with any previous Transfer Complete.
>>>>>>
>>>>>> Same behavior at my end too. Fails before first iteration and I get
>>>>>> completion status of 1 for Set Endpoint Resource command. Attached
>>>>>> the logs of testing done with this patch and without this patch.
>>>>>> Without this patch I often see completion status of 1 for Set
>>>>>> Endpoint Transfer Resources command for Bulk and Isoc endpoints but
>>>>>> test proceeds because driver just logs command completion status
>>>>>> and moves on. We can revert this patch for time being. IP version is
>>> 2.90a.
>>>>>
>>>>> yeah, that's what I mean, it really seems like it's the IP misbehaving.
>>>>>
>>>>> John, let's try to figure out what's the root cause of this, we
>>>>> really want to use command completion status at some point, but for
>>>>> now we need to revert the patch :-(
>>>>>
>>>>> Let me know if you want me to log STARS ticket on your solvnet system.
>>>>>
>>>>> cheers
>>>>>
>>>>
>>>> Hi Felipe,
>>>>
>>>> We found the issue last week.
>>>>
>>>> The start config command isn't getting called during SET_INTERFACE.
>>>> Thus the transfer resource index isn't getting reset, and with
>>>> multiple SET_INTERFACE commands it will eventually exhaust the
>>>> resources.
>>>>
>>>> I tried out a fix and it works for me. I'll send it out separately for
>>>> review.
>>
>> Thanks John for debugging :). Yes we are not handling SET_INTERFACE similar to
>> SET_CONFIGURATION in driver. I guess we follow 
>> "Alternate Initialization on SetInterface Request" sequence as per data book.
>> Felipe can confirm this.
>>
>>>
>>> Thanks a lot John. Not sure how come we missed that for such a long time
>>> :-) Let's Cc stable and get it plugged ASAP :-)
>>>
>>>> Also, I noticed that the trace message that shows control transfers
>>>> doesn't show the SET_INTERFACE properly. Any idea why this is?
>>>>
>>>> For example, here is the line in the trace that corresponds to the
>>>> SET_INTERFACE:
>>>> irq/33-dwc3-10808 [003] d...  2443.494368: dwc3_ctrl_req:
>>> bRequestType
>>>> 01 bRequest 0b wValue 0001 wIndex 0000 wLength 0
>>
>> Can you please elaborate? What is expected here? Did you mean it shows wrong info
>> (other than the request actually sent by Host) ?
> 
> I have been looking more at this and the reason why we're failing is a
> patch from Paul, which I quote below:
> 
> commit b23c843992b659d537514e6493d673284f5d6724
> Author: Paul Zimmerman <Paul.Zimmerman@synopsys.com>
> Date:   Fri Sep 30 10:58:42 2011 +0300
> 
>     usb: dwc3: gadget: fix DEPSTARTCFG for non-EP0 EPs
>     
>     DEPSTARTCFG for non-EP0 EPs must only be sent once per config
>     
>     [ balbi@ti.com : changed config_start to start_config_issued ]
>     
>     Signed-off-by: Paul Zimmerman <paulz@synopsys.com>
>     Signed-off-by: Felipe Balbi <balbi@ti.com>
>     Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
> 
> diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
> index 0231eba1f53d..502582ce1fc6 100644
> --- a/drivers/usb/dwc3/core.h
> +++ b/drivers/usb/dwc3/core.h
> @@ -529,6 +529,7 @@ static inline void dwc3_trb_to_nat(struct dwc3_trb_hw *hw, struct dwc3_trb *nat)
>   * @ep0_status_pending: ep0 status response without a req is pending
>   * @ep0_bounced: true when we used bounce buffer
>   * @ep0_expect_in: true when we expect a DATA IN transfer
> + * @start_config_issued: true when StartConfig command has been issued
>   * @ep0_next_event: hold the next expected event
>   * @ep0state: state of endpoint zero
>   * @link_state: link state
> @@ -576,6 +577,7 @@ struct dwc3 {
>  	unsigned		ep0_status_pending:1;
>  	unsigned		ep0_bounced:1;
>  	unsigned		ep0_expect_in:1;
> +	unsigned		start_config_issued:1;
>  
>  	enum dwc3_ep0_next	ep0_next_event;
>  	enum dwc3_ep0_state	ep0state;
> diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c
> index cc27c4ec498d..2def48ed30ea 100644
> --- a/drivers/usb/dwc3/ep0.c
> +++ b/drivers/usb/dwc3/ep0.c
> @@ -455,6 +455,7 @@ static int dwc3_ep0_set_config(struct dwc3 *dwc, struct usb_ctrlrequest *ctrl)
>  	u32 cfg;
>  	int ret;
>  
> +	dwc->start_config_issued = false;
>  	cfg = le16_to_cpu(ctrl->wValue);
>  
>  	switch (dwc->dev_state) {
> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> index b2820aa9fa46..9c0174a8f46c 100644
> --- a/drivers/usb/dwc3/gadget.c
> +++ b/drivers/usb/dwc3/gadget.c
> @@ -237,8 +237,12 @@ static int dwc3_gadget_start_config(struct dwc3 *dwc, struct dwc3_ep *dep)
>  	if (dep->number != 1) {
>  		cmd = DWC3_DEPCMD_DEPSTARTCFG;
>  		/* XferRscIdx == 0 for ep0 and 2 for the remaining */
> -		if (dep->number > 1)
> +		if (dep->number > 1) {
> +			if (dwc->start_config_issued)
> +				return 0;
> +			dwc->start_config_issued = true;
>  			cmd |= DWC3_DEPCMD_PARAM(2);
> +		}
>  
>  		return dwc3_send_gadget_ep_cmd(dwc, 0, cmd, &params);
>  	}
> @@ -1161,6 +1165,8 @@ static int dwc3_gadget_start(struct usb_gadget *g,
>  	reg |= DWC3_DCFG_SUPERSPEED;
>  	dwc3_writel(dwc->regs, DWC3_DCFG, reg);
>  
> +	dwc->start_config_issued = false;
> +
>  	/* Start with SuperSpeed Default */
>  	dwc3_gadget_ep0_desc.wMaxPacketSize = cpu_to_le16(512);
>  
> @@ -1592,6 +1598,7 @@ static void dwc3_gadget_disconnect_interrupt(struct dwc3 *dwc)
>  
>  	dwc3_stop_active_transfers(dwc);
>  	dwc3_disconnect_gadget(dwc);
> +	dwc->start_config_issued = false;
>  
>  	dwc->gadget.speed = USB_SPEED_UNKNOWN;
>  }
> @@ -1643,6 +1650,7 @@ static void dwc3_gadget_reset_interrupt(struct dwc3 *dwc)
>  
>  	dwc3_stop_active_transfers(dwc);
>  	dwc3_clear_stall_all_ep(dwc);
> +	dwc->start_config_issued = false;
>  
>  	/* Reset device address to zero */
>  	reg = dwc3_readl(dwc->regs, DWC3_DCFG);
> 
> 
> So the problem is that even though endpoint *is* indeed disabled,
> start_config_issued is still true and we return before sending that
> command. According to Paul's patch it's important that we send
> start_config only once per config.
> 
> However, I do see that section 9.1.5, table 9-5 of Databook 2.90a has no
> conditionals around DEPSTARTCFG. Reverting that patch from Paul, I can
> see that it all works fine.
> 
> I'll send the revert still today, but I need you guys to confirm that it
> really works on your platforms. According to Paul he "can't see how the
> driver would work without" start_config_issued trick.
> 
> cheers
> 

Hi Felipe,

I think Paul's patch is still valid. However the
DEPSTARTCFG(XferRscIdx=2) should only be issued once per
SET_CONFIG *OR* SET_INTERFACE.

This command will reset the Transfer Resource Index to 2 (there
are already 2 used for EP0). Then subsequent DEPXFERCFG commands
will take the next XferRscIdx and increment. Without this, you
will assign the same transfer resource for different endpoints
which could potentially cause problems.

The only other time DEPSTARTCFG should be issued is a power on or
reset before you configure EP0. In that case you should do
DEPSTARTCFG(XferRscIdx=0).

This caused problems because, although it was reset on
SET_CONFIG, the usbtest did many SET_INTERFACE requests where it
wasn't being reset. Eventually it ran out of transfer resources
and errored out.

I'll send you a patch to review shortly. However, I have not been
able to test it yet beyond a few simple cases and usbtest.

John





^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD register fails
  2015-07-20 18:16                           ` John Youn
@ 2015-07-20 18:37                             ` Felipe Balbi
  0 siblings, 0 replies; 23+ messages in thread
From: Felipe Balbi @ 2015-07-20 18:37 UTC (permalink / raw)
  To: John Youn
  Cc: balbi, Subbaraya Sundeep Bhatta, gregkh, linux-usb, linux-kernel, stable

[-- Attachment #1: Type: text/plain, Size: 10301 bytes --]

On Mon, Jul 20, 2015 at 06:16:46PM +0000, John Youn wrote:
> On 7/20/2015 10:51 AM, Felipe Balbi wrote:
> > Hi,
> > 
> > On Wed, Jul 15, 2015 at 09:49:05AM +0000, Subbaraya Sundeep Bhatta wrote:
> >> Hi John,
> >>
> >>> -----Original Message-----
> >>> From: Felipe Balbi [mailto:balbi@ti.com]
> >>> Sent: Tuesday, July 14, 2015 12:29 AM
> >>> To: John Youn
> >>> Cc: balbi@ti.com; Subbaraya Sundeep Bhatta; gregkh@linuxfoundation.org;
> >>> linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org;
> >>> stable@vger.kernel.org
> >>> Subject: Re: [PATCH v2 3/3] usb: dwc3: gadget: return error if command
> >>> sent to DEPCMD register fails
> >>>
> >>> Hi,
> >>>
> >>> On Mon, Jul 13, 2015 at 05:50:49PM +0000, John Youn wrote:
> >>>> On 7/11/2015 12:29 PM, Felipe Balbi wrote:
> >>>>> Hi,
> >>>>>
> >>>>> On Sat, Jul 11, 2015 at 05:17:32PM +0000, Subbaraya Sundeep Bhatta
> >>> wrote:
> >>>>>>>>>> Hi Felipe,
> >>>>>>>>>>
> >>>>>>>>>> Just an update on this.
> >>>>>>>>>>
> >>>>>>>>>> I'm trying to get this working with our latest IP with dwc3
> >>>>>>>>>> from your testing/next branch. It fails the usbtest with a
> >>>>>>>>>> problem unrelated to this patch.
> >>>>>>>>>> .
> >>>>>>>>>> It passes on 4.1.1.
> >>>>>>>>>>
> >>>>>>>>>> I'll have to look into the failure but I won't get to it until
> >>>>>>>>>> next week as I'm off the rest of this week.
> >>>>>>>>>
> >>>>>>>>> interesting... If you could post failure signature, I can help
> >>>>>>>>> looking at it, but I guess it's too late to ask :-)
> >>>>>>>>>
> >>>>>>>>> thanks for helping though
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Hi Felipe,
> >>>>>>>>
> >>>>>>>> Nevermind about my issue, it ended up being a setup-related
> >>> problem.
> >>>>>>>>
> >>>>>>>> I actually do see the same error as you due to this series of patches.
> >>>>>>>> Except I see it happening before even the first iteration. I get
> >>>>>>>> a completion status of 1 for the Set Endpoint Transfer Resources
> >>>>>>>> command. I'm not sure why this is.
> >>>>>>>>
> >>>>>>>> I don't see any conflict with any previous Transfer Complete.
> >>>>>>
> >>>>>> Same behavior at my end too. Fails before first iteration and I get
> >>>>>> completion status of 1 for Set Endpoint Resource command. Attached
> >>>>>> the logs of testing done with this patch and without this patch.
> >>>>>> Without this patch I often see completion status of 1 for Set
> >>>>>> Endpoint Transfer Resources command for Bulk and Isoc endpoints but
> >>>>>> test proceeds because driver just logs command completion status
> >>>>>> and moves on. We can revert this patch for time being. IP version is
> >>> 2.90a.
> >>>>>
> >>>>> yeah, that's what I mean, it really seems like it's the IP misbehaving.
> >>>>>
> >>>>> John, let's try to figure out what's the root cause of this, we
> >>>>> really want to use command completion status at some point, but for
> >>>>> now we need to revert the patch :-(
> >>>>>
> >>>>> Let me know if you want me to log STARS ticket on your solvnet system.
> >>>>>
> >>>>> cheers
> >>>>>
> >>>>
> >>>> Hi Felipe,
> >>>>
> >>>> We found the issue last week.
> >>>>
> >>>> The start config command isn't getting called during SET_INTERFACE.
> >>>> Thus the transfer resource index isn't getting reset, and with
> >>>> multiple SET_INTERFACE commands it will eventually exhaust the
> >>>> resources.
> >>>>
> >>>> I tried out a fix and it works for me. I'll send it out separately for
> >>>> review.
> >>
> >> Thanks John for debugging :). Yes we are not handling SET_INTERFACE similar to
> >> SET_CONFIGURATION in driver. I guess we follow 
> >> "Alternate Initialization on SetInterface Request" sequence as per data book.
> >> Felipe can confirm this.
> >>
> >>>
> >>> Thanks a lot John. Not sure how come we missed that for such a long time
> >>> :-) Let's Cc stable and get it plugged ASAP :-)
> >>>
> >>>> Also, I noticed that the trace message that shows control transfers
> >>>> doesn't show the SET_INTERFACE properly. Any idea why this is?
> >>>>
> >>>> For example, here is the line in the trace that corresponds to the
> >>>> SET_INTERFACE:
> >>>> irq/33-dwc3-10808 [003] d...  2443.494368: dwc3_ctrl_req:
> >>> bRequestType
> >>>> 01 bRequest 0b wValue 0001 wIndex 0000 wLength 0
> >>
> >> Can you please elaborate? What is expected here? Did you mean it shows wrong info
> >> (other than the request actually sent by Host) ?
> > 
> > I have been looking more at this and the reason why we're failing is a
> > patch from Paul, which I quote below:
> > 
> > commit b23c843992b659d537514e6493d673284f5d6724
> > Author: Paul Zimmerman <Paul.Zimmerman@synopsys.com>
> > Date:   Fri Sep 30 10:58:42 2011 +0300
> > 
> >     usb: dwc3: gadget: fix DEPSTARTCFG for non-EP0 EPs
> >     
> >     DEPSTARTCFG for non-EP0 EPs must only be sent once per config
> >     
> >     [ balbi@ti.com : changed config_start to start_config_issued ]
> >     
> >     Signed-off-by: Paul Zimmerman <paulz@synopsys.com>
> >     Signed-off-by: Felipe Balbi <balbi@ti.com>
> >     Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
> > 
> > diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
> > index 0231eba1f53d..502582ce1fc6 100644
> > --- a/drivers/usb/dwc3/core.h
> > +++ b/drivers/usb/dwc3/core.h
> > @@ -529,6 +529,7 @@ static inline void dwc3_trb_to_nat(struct dwc3_trb_hw *hw, struct dwc3_trb *nat)
> >   * @ep0_status_pending: ep0 status response without a req is pending
> >   * @ep0_bounced: true when we used bounce buffer
> >   * @ep0_expect_in: true when we expect a DATA IN transfer
> > + * @start_config_issued: true when StartConfig command has been issued
> >   * @ep0_next_event: hold the next expected event
> >   * @ep0state: state of endpoint zero
> >   * @link_state: link state
> > @@ -576,6 +577,7 @@ struct dwc3 {
> >  	unsigned		ep0_status_pending:1;
> >  	unsigned		ep0_bounced:1;
> >  	unsigned		ep0_expect_in:1;
> > +	unsigned		start_config_issued:1;
> >  
> >  	enum dwc3_ep0_next	ep0_next_event;
> >  	enum dwc3_ep0_state	ep0state;
> > diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c
> > index cc27c4ec498d..2def48ed30ea 100644
> > --- a/drivers/usb/dwc3/ep0.c
> > +++ b/drivers/usb/dwc3/ep0.c
> > @@ -455,6 +455,7 @@ static int dwc3_ep0_set_config(struct dwc3 *dwc, struct usb_ctrlrequest *ctrl)
> >  	u32 cfg;
> >  	int ret;
> >  
> > +	dwc->start_config_issued = false;
> >  	cfg = le16_to_cpu(ctrl->wValue);
> >  
> >  	switch (dwc->dev_state) {
> > diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> > index b2820aa9fa46..9c0174a8f46c 100644
> > --- a/drivers/usb/dwc3/gadget.c
> > +++ b/drivers/usb/dwc3/gadget.c
> > @@ -237,8 +237,12 @@ static int dwc3_gadget_start_config(struct dwc3 *dwc, struct dwc3_ep *dep)
> >  	if (dep->number != 1) {
> >  		cmd = DWC3_DEPCMD_DEPSTARTCFG;
> >  		/* XferRscIdx == 0 for ep0 and 2 for the remaining */
> > -		if (dep->number > 1)
> > +		if (dep->number > 1) {
> > +			if (dwc->start_config_issued)
> > +				return 0;
> > +			dwc->start_config_issued = true;
> >  			cmd |= DWC3_DEPCMD_PARAM(2);
> > +		}
> >  
> >  		return dwc3_send_gadget_ep_cmd(dwc, 0, cmd, &params);
> >  	}
> > @@ -1161,6 +1165,8 @@ static int dwc3_gadget_start(struct usb_gadget *g,
> >  	reg |= DWC3_DCFG_SUPERSPEED;
> >  	dwc3_writel(dwc->regs, DWC3_DCFG, reg);
> >  
> > +	dwc->start_config_issued = false;
> > +
> >  	/* Start with SuperSpeed Default */
> >  	dwc3_gadget_ep0_desc.wMaxPacketSize = cpu_to_le16(512);
> >  
> > @@ -1592,6 +1598,7 @@ static void dwc3_gadget_disconnect_interrupt(struct dwc3 *dwc)
> >  
> >  	dwc3_stop_active_transfers(dwc);
> >  	dwc3_disconnect_gadget(dwc);
> > +	dwc->start_config_issued = false;
> >  
> >  	dwc->gadget.speed = USB_SPEED_UNKNOWN;
> >  }
> > @@ -1643,6 +1650,7 @@ static void dwc3_gadget_reset_interrupt(struct dwc3 *dwc)
> >  
> >  	dwc3_stop_active_transfers(dwc);
> >  	dwc3_clear_stall_all_ep(dwc);
> > +	dwc->start_config_issued = false;
> >  
> >  	/* Reset device address to zero */
> >  	reg = dwc3_readl(dwc->regs, DWC3_DCFG);
> > 
> > 
> > So the problem is that even though endpoint *is* indeed disabled,
> > start_config_issued is still true and we return before sending that
> > command. According to Paul's patch it's important that we send
> > start_config only once per config.
> > 
> > However, I do see that section 9.1.5, table 9-5 of Databook 2.90a has no
> > conditionals around DEPSTARTCFG. Reverting that patch from Paul, I can
> > see that it all works fine.
> > 
> > I'll send the revert still today, but I need you guys to confirm that it
> > really works on your platforms. According to Paul he "can't see how the
> > driver would work without" start_config_issued trick.
> > 
> > cheers
> > 
> 
> Hi Felipe,
> 
> I think Paul's patch is still valid. However the
> DEPSTARTCFG(XferRscIdx=2) should only be issued once per
> SET_CONFIG *OR* SET_INTERFACE.

hmm.. This isn't very clear on databook, perhaps Synopsys might want to
update the documentation with a note further clarifying this detail ?

> This command will reset the Transfer Resource Index to 2 (there
> are already 2 used for EP0). Then subsequent DEPXFERCFG commands
> will take the next XferRscIdx and increment. Without this, you
> will assign the same transfer resource for different endpoints
> which could potentially cause problems.
> 
> The only other time DEPSTARTCFG should be issued is a power on or
> reset before you configure EP0. In that case you should do
> DEPSTARTCFG(XferRscIdx=0).
> 
> This caused problems because, although it was reset on
> SET_CONFIG, the usbtest did many SET_INTERFACE requests where it
> wasn't being reset. Eventually it ran out of transfer resources
> and errored out.
> 
> I'll send you a patch to review shortly. However, I have not been
> able to test it yet beyond a few simple cases and usbtest.

I can run a ton of other tests here as long as I have a patch :-)
testusb/usbtest is a very good test case though, as long as it runs for
a few days without any failures, we can rest assured it works.

cheers

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2015-07-20 18:37 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-21 10:16 [PATCH v2 1/3] usb: dwc3: gadget: Fix incorrect DEPCMD and DGCMD status macros Subbaraya Sundeep Bhatta
2015-05-21 10:16 ` [PATCH v2 2/3] usb: dwc3: gadget: return error if command sent to DGCMD register fails Subbaraya Sundeep Bhatta
2015-05-21 10:16 ` [PATCH v2 3/3] usb: dwc3: gadget: return error if command sent to DEPCMD " Subbaraya Sundeep Bhatta
2015-06-29 21:47   ` Felipe Balbi
2015-06-29 21:48     ` Felipe Balbi
2015-06-29 23:59       ` John Youn
2015-06-30  0:34         ` Felipe Balbi
2015-07-02  2:03       ` John Youn
2015-07-02  3:00         ` Felipe Balbi
2015-07-07  2:10           ` John Youn
2015-07-07  3:24             ` Felipe Balbi
     [not found]               ` <F1B223389110CE49B4CF055ABA2E5D3D7825118A@XAP-PVEXMBX02.xlnx.xilinx.com>
2015-07-11 19:29                 ` Felipe Balbi
2015-07-13 17:50                   ` John Youn
2015-07-13 18:58                     ` Felipe Balbi
2015-07-15  9:49                       ` Subbaraya Sundeep Bhatta
2015-07-20 17:51                         ` Felipe Balbi
2015-07-20 18:16                           ` John Youn
2015-07-20 18:37                             ` Felipe Balbi
2015-07-01  7:29     ` Subbaraya Sundeep Bhatta
2015-07-06 17:07       ` Felipe Balbi
2015-07-07  5:01         ` Subbaraya Sundeep Bhatta
2015-07-08  9:50         ` Subbaraya Sundeep Bhatta
2015-07-08 18:16           ` Felipe Balbi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).