linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [10/15] usb: dwc3: gadget: Set maxpacket size for ep0 IN
@ 2018-01-05 20:15 Thinh Nguyen
  0 siblings, 0 replies; 6+ messages in thread
From: Thinh Nguyen @ 2018-01-05 20:15 UTC (permalink / raw)
  To: Felipe Balbi, Thinh Nguyen, linux-usb; +Cc: John Youn

There are 2 control endpoint structures for DWC3. However, the driver
only updates the OUT direction control endpoint structure during
ConnectDone event. DWC3 driver needs to update the endpoint max packet
size for control IN endpoint as well. If the max packet size is not
properly set, then the driver will incorrectly calculate the data
transfer size and fail to send ZLP for HS/FS 3-stage control read
transfer.

The fix is simply to update the max packet size for the ep0 IN direction
during ConnectDone event.

Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
---
 drivers/usb/dwc3/gadget.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index bdf2a2014ebd..6ae924d95cbc 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -2751,6 +2751,8 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc)
 		break;
 	}
 
+	dwc->eps[1]->endpoint.maxpacket = dwc->gadget.ep0->maxpacket;
+
 	/* Enable USB2 LPM Capability */
 
 	if ((dwc->revision > DWC3_REVISION_194A) &&

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

* [10/15] usb: dwc3: gadget: Set maxpacket size for ep0 IN
@ 2018-01-08 12:05 Felipe Balbi
  0 siblings, 0 replies; 6+ messages in thread
From: Felipe Balbi @ 2018-01-08 12:05 UTC (permalink / raw)
  To: Thinh Nguyen; +Cc: John Youn

Hi,

Thinh Nguyen <Thinh.Nguyen@synopsys.com> writes:
> There are 2 control endpoint structures for DWC3. However, the driver
> only updates the OUT direction control endpoint structure during
> ConnectDone event. DWC3 driver needs to update the endpoint max packet
> size for control IN endpoint as well. If the max packet size is not
> properly set, then the driver will incorrectly calculate the data
> transfer size and fail to send ZLP for HS/FS 3-stage control read
> transfer.
>
> The fix is simply to update the max packet size for the ep0 IN direction
> during ConnectDone event.
>
> Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
> ---
>  drivers/usb/dwc3/gadget.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> index bdf2a2014ebd..6ae924d95cbc 100644
> --- a/drivers/usb/dwc3/gadget.c
> +++ b/drivers/usb/dwc3/gadget.c
> @@ -2751,6 +2751,8 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc)
>  		break;
>  	}
>  
> +	dwc->eps[1]->endpoint.maxpacket = dwc->gadget.ep0->maxpacket;

thanks :-) I've had that on my list for a while but never got to it
since it has no real effects other than reporting properly on
tracepoints :-)

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

* [10/15] usb: dwc3: gadget: Set maxpacket size for ep0 IN
@ 2018-01-08 23:14 Thinh Nguyen
  0 siblings, 0 replies; 6+ messages in thread
From: Thinh Nguyen @ 2018-01-08 23:14 UTC (permalink / raw)
  To: Felipe Balbi, Thinh Nguyen, linux-usb@vger.kernel.org; +Cc: John Youn

Hi,

On 1/8/2018 4:06 AM, Felipe Balbi wrote:
> 
> Hi,
> 
> Thinh Nguyen <Thinh.Nguyen@synopsys.com> writes:
>> There are 2 control endpoint structures for DWC3. However, the driver
>> only updates the OUT direction control endpoint structure during
>> ConnectDone event. DWC3 driver needs to update the endpoint max packet
>> size for control IN endpoint as well. If the max packet size is not
>> properly set, then the driver will incorrectly calculate the data
>> transfer size and fail to send ZLP for HS/FS 3-stage control read
>> transfer.
>>
>> The fix is simply to update the max packet size for the ep0 IN direction
>> during ConnectDone event.
>>
>> Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
>> ---
>>   drivers/usb/dwc3/gadget.c | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
>> index bdf2a2014ebd..6ae924d95cbc 100644
>> --- a/drivers/usb/dwc3/gadget.c
>> +++ b/drivers/usb/dwc3/gadget.c
>> @@ -2751,6 +2751,8 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc)
>>   		break;
>>   	}
>>   
>> +	dwc->eps[1]->endpoint.maxpacket = dwc->gadget.ep0->maxpacket;
> 
> thanks :-) I've had that on my list for a while but never got to it
> since it has no real effects other than reporting properly on
> tracepoints :-)
> 

Just to clarify, this is a bug. We found this issue when we test for 
HS/FS 3-stage control read transfer for ZLP.

BR,
Thinh
---
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [10/15] usb: dwc3: gadget: Set maxpacket size for ep0 IN
@ 2018-01-09  8:42 Felipe Balbi
  0 siblings, 0 replies; 6+ messages in thread
From: Felipe Balbi @ 2018-01-09  8:42 UTC (permalink / raw)
  To: Thinh Nguyen; +Cc: John Youn

Hi,

Thinh Nguyen <Thinh.Nguyen@synopsys.com> writes:
> Hi,
>
> On 1/8/2018 4:06 AM, Felipe Balbi wrote:
>> 
>> Hi,
>> 
>> Thinh Nguyen <Thinh.Nguyen@synopsys.com> writes:
>>> There are 2 control endpoint structures for DWC3. However, the driver
>>> only updates the OUT direction control endpoint structure during
>>> ConnectDone event. DWC3 driver needs to update the endpoint max packet
>>> size for control IN endpoint as well. If the max packet size is not
>>> properly set, then the driver will incorrectly calculate the data
>>> transfer size and fail to send ZLP for HS/FS 3-stage control read
>>> transfer.
>>>
>>> The fix is simply to update the max packet size for the ep0 IN direction
>>> during ConnectDone event.
>>>
>>> Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
>>> ---
>>>   drivers/usb/dwc3/gadget.c | 2 ++
>>>   1 file changed, 2 insertions(+)
>>>
>>> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
>>> index bdf2a2014ebd..6ae924d95cbc 100644
>>> --- a/drivers/usb/dwc3/gadget.c
>>> +++ b/drivers/usb/dwc3/gadget.c
>>> @@ -2751,6 +2751,8 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc)
>>>   		break;
>>>   	}
>>>   
>>> +	dwc->eps[1]->endpoint.maxpacket = dwc->gadget.ep0->maxpacket;
>> 
>> thanks :-) I've had that on my list for a while but never got to it
>> since it has no real effects other than reporting properly on
>> tracepoints :-)
>> 
>
> Just to clarify, this is a bug. We found this issue when we test for 
> HS/FS 3-stage control read transfer for ZLP.

interesting... I have never seen such bug before. Got some tracepoints
of the problem? Also, if it's a bug, why wasn't it sent as a separate
patch with a Cc stable and a Fixes tag?

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

* [10/15] usb: dwc3: gadget: Set maxpacket size for ep0 IN
@ 2018-01-09 23:47 Thinh Nguyen
  0 siblings, 0 replies; 6+ messages in thread
From: Thinh Nguyen @ 2018-01-09 23:47 UTC (permalink / raw)
  To: Felipe Balbi, Thinh Nguyen, linux-usb@vger.kernel.org; +Cc: John Youn

Hi Felipe,

On 1/9/2018 12:43 AM, Felipe Balbi wrote:
> 
> Hi,
> 
> Thinh Nguyen <Thinh.Nguyen@synopsys.com> writes:
>> Hi,
>>
>> On 1/8/2018 4:06 AM, Felipe Balbi wrote:
>>>
>>> Hi,
>>>
>>> Thinh Nguyen <Thinh.Nguyen@synopsys.com> writes:
>>>> There are 2 control endpoint structures for DWC3. However, the driver
>>>> only updates the OUT direction control endpoint structure during
>>>> ConnectDone event. DWC3 driver needs to update the endpoint max packet
>>>> size for control IN endpoint as well. If the max packet size is not
>>>> properly set, then the driver will incorrectly calculate the data
>>>> transfer size and fail to send ZLP for HS/FS 3-stage control read
>>>> transfer.
>>>>
>>>> The fix is simply to update the max packet size for the ep0 IN direction
>>>> during ConnectDone event.
>>>>
>>>> Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
>>>> ---
>>>>    drivers/usb/dwc3/gadget.c | 2 ++
>>>>    1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
>>>> index bdf2a2014ebd..6ae924d95cbc 100644
>>>> --- a/drivers/usb/dwc3/gadget.c
>>>> +++ b/drivers/usb/dwc3/gadget.c
>>>> @@ -2751,6 +2751,8 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc)
>>>>    		break;
>>>>    	}
>>>>    
>>>> +	dwc->eps[1]->endpoint.maxpacket = dwc->gadget.ep0->maxpacket;
>>>
>>> thanks :-) I've had that on my list for a while but never got to it
>>> since it has no real effects other than reporting properly on
>>> tracepoints :-)
>>>
>>
>> Just to clarify, this is a bug. We found this issue when we test for
>> HS/FS 3-stage control read transfer for ZLP.
> 
> interesting... I have never seen such bug before. Got some tracepoints
> of the problem? Also, if it's a bug, why wasn't it sent as a separate
> patch with a Cc stable and a Fixes tag?
> 

DWC3 gadget starts with max packet size (mps) 512 as default for ep0. 
That value should be updated after ConnectDone event when DWC3 checks 
for the connected speed. In HS/FS, the 3-stage control read transfer 
sends ZLP based on the mps for IN ep0, but that value is not updated.

Here's a quick test with the 3-stage HS control read.

Setup:
* mass_storage driver
* Modify driver string description to 128 bytes
* Enumerate device in highspeed (mps = 64)

Below is the snippet of trace with GetDescriptor(STRING) request for the 
driver string description. Device did not prepare and send ZLP packet.

  41.787092: dwc3_ctrl_req: Get String Descriptor(Index = 4, Length = 255)
  41.787093: dwc3_prepare_trb: ep0in: 0/0 trb 0000000070a29ad1 buf 
00000000b8d67800 size 128 ctrl 00000c53 (HLcs:SC:data)
  41.787094: dwc3_readl: addr 000000008008901e value 00002400
  41.787095: dwc3_writel: addr 00000000831c6d00 value 00000000
  41.787095: dwc3_writel: addr 000000003e4167b3 value 37820000
  41.787095: dwc3_writel: addr 00000000f504c84e value 00000000
  41.787095: dwc3_writel: addr 00000000ca003fac value 00000406
  41.787095: dwc3_readl: addr 00000000ca003fac value 00000406
  41.787098: dwc3_readl: addr 00000000ca003fac value 00010006
  41.787100: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [1030] 
params 00000000 37820000 00000000 --> status: Successful
  41.787101: dwc3_readl: addr 00000000ca003fac value 00010006
  41.787103: dwc3_readl: addr 000000007bcb1278 value 80001000
  41.787105: dwc3_writel: addr 000000007bcb1278 value 00001000
  41.787107: dwc3_readl: addr 000000008eea6144 value 00000000
  41.787216: dwc3_readl: addr 000000008eea6144 value 00000008
  41.787218: dwc3_readl: addr 000000007bcb1278 value 00001000
  41.787219: dwc3_writel: addr 000000007bcb1278 value 80001000
  41.787220: dwc3_writel: addr 000000008eea6144 value 00000008
  41.787220: dwc3_event: event (0000c042): ep0in: Transfer Complete 
[Data Phase]
  41.787220: dwc3_complete_trb: ep0out: 0/1 trb 0000000070a29ad1 buf 
00000000b8d67800 size 0 ctrl 00000c52 (hLcs:SC:data)
  41.787221: dwc3_complete_trb: ep0out: 0/1 trb 00000000cba79c85 buf 
0000000000000000 size 0 ctrl 00000000 (hlcs:sc:UNKNOWN)
  41.787221: dwc3_gadget_giveback: ep0out: req 00000000fd996780 length 
128/128 ZsI ==> 0
  41.787221: dwc3_event: event (000010c2): ep0in: Transfer Not Ready 
(Not Active) [Data Phase]
  41.787221: dwc3_readl: addr 000000007bcb1278 value 80001000
  41.787223: dwc3_writel: addr 000000007bcb1278 value 00001000
  41.787223: dwc3_readl: addr 000000008eea6144 value 00000000
  46.294697: dwc3_readl: addr 000000008eea6144 value 00000004
  46.294698: dwc3_readl: addr 000000007bcb1278 value 00001000
  46.294699: dwc3_writel: addr 000000007bcb1278 value 80001000
  46.294700: dwc3_writel: addr 000000008eea6144 value 00000004




Below is the snippet of the trace with the fix:

  34.079018: dwc3_ctrl_req: Get String Descriptor(Index = 4, Length = 255)
  34.079020: dwc3_prepare_trb: ep0in: 0/0 trb 000000006ece9b4d buf 
00000000b8d67800 size 128 ctrl 00000455 (HlCs:Sc:data)
  34.079020: dwc3_prepare_trb: ep0in: 0/0 trb 000000001b323efa buf 
0000000037821000 size 0 ctrl 00000c53 (HLcs:SC:data)
  34.079020: dwc3_readl: addr 00000000a90978f8 value 00002400
  34.079021: dwc3_writel: addr 00000000c8f7ea9f value 00000000
  34.079021: dwc3_writel: addr 000000000217f085 value 37820000
  34.079021: dwc3_writel: addr 00000000b5593ec9 value 00000000
  34.079021: dwc3_writel: addr 000000008b9e5492 value 00000406
  34.079022: dwc3_readl: addr 000000008b9e5492 value 00000406
  34.079024: dwc3_readl: addr 000000008b9e5492 value 00010006
  34.079027: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [1030] 
params 00000000 37820000 00000000 --> status: Successful
  34.079027: dwc3_readl: addr 000000008b9e5492 value 00010006
  34.079029: dwc3_readl: addr 00000000e9897a1c value 80001000
  34.079031: dwc3_writel: addr 00000000e9897a1c value 00001000
  34.079031: dwc3_readl: addr 0000000034bddbfc value 00000000
  34.079144: dwc3_readl: addr 0000000034bddbfc value 00000004
  34.079146: dwc3_readl: addr 00000000e9897a1c value 00001000
  34.079147: dwc3_writel: addr 00000000e9897a1c value 80001000
  34.079148: dwc3_writel: addr 0000000034bddbfc value 00000004
  34.079148: dwc3_event: event (0000c042): ep0in: Transfer Complete 
[Data Phase]
  34.079148: dwc3_complete_trb: ep0out: 0/1 trb 000000006ece9b4d buf 
00000000b8d67800 size 0 ctrl 00000454 (hlCs:Sc:data)
  34.079149: dwc3_complete_trb: ep0out: 0/1 trb 000000001b323efa buf 
0000000037821000 size 0 ctrl 00000c52 (hLcs:SC:data)
  34.079149: dwc3_gadget_giveback: ep0out: req 00000000bbc62204 length 
128/128 ZsI ==> 0
  34.079149: dwc3_readl: addr 00000000e9897a1c value 80001000
  34.079150: dwc3_writel: addr 00000000e9897a1c value 00001000

I'll "Cc" stable for this patch. Also, I'll separate this patch and 
"[PATH 11/15] usb: dwc3: ep0: Reset TRB counter for ep0 IN" from this 
patch series then.

BR,
Thinh

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

* [10/15] usb: dwc3: gadget: Set maxpacket size for ep0 IN
@ 2018-01-11  8:29 Felipe Balbi
  0 siblings, 0 replies; 6+ messages in thread
From: Felipe Balbi @ 2018-01-11  8:29 UTC (permalink / raw)
  To: Thinh Nguyen; +Cc: John Youn

Hi,

Thinh Nguyen <Thinh.Nguyen@synopsys.com> writes:
>>>>> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
>>>>> index bdf2a2014ebd..6ae924d95cbc 100644
>>>>> --- a/drivers/usb/dwc3/gadget.c
>>>>> +++ b/drivers/usb/dwc3/gadget.c
>>>>> @@ -2751,6 +2751,8 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc)
>>>>>    		break;
>>>>>    	}
>>>>>    
>>>>> +	dwc->eps[1]->endpoint.maxpacket = dwc->gadget.ep0->maxpacket;
>>>>
>>>> thanks :-) I've had that on my list for a while but never got to it
>>>> since it has no real effects other than reporting properly on
>>>> tracepoints :-)
>>>>
>>>
>>> Just to clarify, this is a bug. We found this issue when we test for
>>> HS/FS 3-stage control read transfer for ZLP.
>> 
>> interesting... I have never seen such bug before. Got some tracepoints
>> of the problem? Also, if it's a bug, why wasn't it sent as a separate
>> patch with a Cc stable and a Fixes tag?
>> 
>
> DWC3 gadget starts with max packet size (mps) 512 as default for ep0. 
> That value should be updated after ConnectDone event when DWC3 checks 
> for the connected speed. In HS/FS, the 3-stage control read transfer 
> sends ZLP based on the mps for IN ep0, but that value is not updated.
>
> Here's a quick test with the 3-stage HS control read.
>
> Setup:
> * mass_storage driver
> * Modify driver string description to 128 bytes
> * Enumerate device in highspeed (mps = 64)
>
> Below is the snippet of trace with GetDescriptor(STRING) request for the 
> driver string description. Device did not prepare and send ZLP packet.
>
>   41.787092: dwc3_ctrl_req: Get String Descriptor(Index = 4, Length = 255)
>   41.787093: dwc3_prepare_trb: ep0in: 0/0 trb 0000000070a29ad1 buf 
> 00000000b8d67800 size 128 ctrl 00000c53 (HLcs:SC:data)
>   41.787094: dwc3_readl: addr 000000008008901e value 00002400
>   41.787095: dwc3_writel: addr 00000000831c6d00 value 00000000
>   41.787095: dwc3_writel: addr 000000003e4167b3 value 37820000
>   41.787095: dwc3_writel: addr 00000000f504c84e value 00000000
>   41.787095: dwc3_writel: addr 00000000ca003fac value 00000406
>   41.787095: dwc3_readl: addr 00000000ca003fac value 00000406
>   41.787098: dwc3_readl: addr 00000000ca003fac value 00010006
>   41.787100: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [1030] 
> params 00000000 37820000 00000000 --> status: Successful
>   41.787101: dwc3_readl: addr 00000000ca003fac value 00010006
>   41.787103: dwc3_readl: addr 000000007bcb1278 value 80001000
>   41.787105: dwc3_writel: addr 000000007bcb1278 value 00001000
>   41.787107: dwc3_readl: addr 000000008eea6144 value 00000000
>   41.787216: dwc3_readl: addr 000000008eea6144 value 00000008
>   41.787218: dwc3_readl: addr 000000007bcb1278 value 00001000
>   41.787219: dwc3_writel: addr 000000007bcb1278 value 80001000
>   41.787220: dwc3_writel: addr 000000008eea6144 value 00000008
>   41.787220: dwc3_event: event (0000c042): ep0in: Transfer Complete 
> [Data Phase]
>   41.787220: dwc3_complete_trb: ep0out: 0/1 trb 0000000070a29ad1 buf 
> 00000000b8d67800 size 0 ctrl 00000c52 (hLcs:SC:data)
>   41.787221: dwc3_complete_trb: ep0out: 0/1 trb 00000000cba79c85 buf 
> 0000000000000000 size 0 ctrl 00000000 (hlcs:sc:UNKNOWN)
>   41.787221: dwc3_gadget_giveback: ep0out: req 00000000fd996780 length 
> 128/128 ZsI ==> 0
>   41.787221: dwc3_event: event (000010c2): ep0in: Transfer Not Ready 
> (Not Active) [Data Phase]
>   41.787221: dwc3_readl: addr 000000007bcb1278 value 80001000
>   41.787223: dwc3_writel: addr 000000007bcb1278 value 00001000
>   41.787223: dwc3_readl: addr 000000008eea6144 value 00000000
>   46.294697: dwc3_readl: addr 000000008eea6144 value 00000004
>   46.294698: dwc3_readl: addr 000000007bcb1278 value 00001000
>   46.294699: dwc3_writel: addr 000000007bcb1278 value 80001000
>   46.294700: dwc3_writel: addr 000000008eea6144 value 00000004
>
>
>
>
> Below is the snippet of the trace with the fix:
>
>   34.079018: dwc3_ctrl_req: Get String Descriptor(Index = 4, Length = 255)
>   34.079020: dwc3_prepare_trb: ep0in: 0/0 trb 000000006ece9b4d buf 
> 00000000b8d67800 size 128 ctrl 00000455 (HlCs:Sc:data)
>   34.079020: dwc3_prepare_trb: ep0in: 0/0 trb 000000001b323efa buf 
> 0000000037821000 size 0 ctrl 00000c53 (HLcs:SC:data)
>   34.079020: dwc3_readl: addr 00000000a90978f8 value 00002400
>   34.079021: dwc3_writel: addr 00000000c8f7ea9f value 00000000
>   34.079021: dwc3_writel: addr 000000000217f085 value 37820000
>   34.079021: dwc3_writel: addr 00000000b5593ec9 value 00000000
>   34.079021: dwc3_writel: addr 000000008b9e5492 value 00000406
>   34.079022: dwc3_readl: addr 000000008b9e5492 value 00000406
>   34.079024: dwc3_readl: addr 000000008b9e5492 value 00010006
>   34.079027: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [1030] 
> params 00000000 37820000 00000000 --> status: Successful
>   34.079027: dwc3_readl: addr 000000008b9e5492 value 00010006
>   34.079029: dwc3_readl: addr 00000000e9897a1c value 80001000
>   34.079031: dwc3_writel: addr 00000000e9897a1c value 00001000
>   34.079031: dwc3_readl: addr 0000000034bddbfc value 00000000
>   34.079144: dwc3_readl: addr 0000000034bddbfc value 00000004
>   34.079146: dwc3_readl: addr 00000000e9897a1c value 00001000
>   34.079147: dwc3_writel: addr 00000000e9897a1c value 80001000
>   34.079148: dwc3_writel: addr 0000000034bddbfc value 00000004
>   34.079148: dwc3_event: event (0000c042): ep0in: Transfer Complete 
> [Data Phase]
>   34.079148: dwc3_complete_trb: ep0out: 0/1 trb 000000006ece9b4d buf 
> 00000000b8d67800 size 0 ctrl 00000454 (hlCs:Sc:data)
>   34.079149: dwc3_complete_trb: ep0out: 0/1 trb 000000001b323efa buf 
> 0000000037821000 size 0 ctrl 00000c52 (hLcs:SC:data)
>   34.079149: dwc3_gadget_giveback: ep0out: req 00000000bbc62204 length 
> 128/128 ZsI ==> 0
>   34.079149: dwc3_readl: addr 00000000e9897a1c value 80001000
>   34.079150: dwc3_writel: addr 00000000e9897a1c value 00001000

now I see the problem, thank you :-)

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

end of thread, other threads:[~2018-01-11  8:29 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-08 12:05 [10/15] usb: dwc3: gadget: Set maxpacket size for ep0 IN Felipe Balbi
  -- strict thread matches above, loose matches on Subject: below --
2018-01-11  8:29 Felipe Balbi
2018-01-09 23:47 Thinh Nguyen
2018-01-09  8:42 Felipe Balbi
2018-01-08 23:14 Thinh Nguyen
2018-01-05 20:15 Thinh Nguyen

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).