Hi,

On 11/7/2018 11:08 PM, Felipe Balbi wrote:
> Hi,
>
> Thinh Nguyen <thinh.ngu...@synopsys.com> writes:
>> Report the scheduled frame number of an isochronous request.
>>
>> Signed-off-by: Thinh Nguyen <thi...@synopsys.com>
>> ---
>> Change in v2:
>>  - Capture frame number at request cleanup
>>
>>  drivers/usb/dwc3/gadget.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
>> index 679c12e14522..5e5e799699de 100644
>> --- a/drivers/usb/dwc3/gadget.c
>> +++ b/drivers/usb/dwc3/gadget.c
>> @@ -2345,6 +2345,10 @@ static int 
>> dwc3_gadget_ep_cleanup_completed_request(struct dwc3_ep *dep,
>>  
>>      req->request.actual = req->request.length - req->remaining;
>>  
>> +    /* Report scheduled frame number for isoc transfers */
>> +    if (usb_endpoint_xfer_isoc(dep->endpoint.desc))
>> +            req->request.start_frame = dep->frame_number;
> yeah, this is really wrong. Since you're setting start_frame when
> cleaning up the request, this means that dep->frame_number was already
> updated due to XferComplete/XferInProgress. This means thart start_frame
> will report frame number of completion event, not start. So your
> debugging will be misleading.
>
You're right. I'll make the fix.

Thinh

Reply via email to