Re: 64 byte EP0 OUT data transfer issue on Chipidea highspeed dual role controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 30, 2015 at 8:23 AM, Jayan John <jayanjohn79@xxxxxxxxx> wrote:
> On Tue, Jun 30, 2015 at 6:50 AM, Peter Chen <Peter.Chen@xxxxxxxxxxxxx> wrote:
>>
>>> On Tue, Jun 30, 2015 at 12:33 AM, Steve Calfee <stevecalfee@xxxxxxxxx>
>>> wrote:
>>> > On Mon, Jun 29, 2015 at 7:16 AM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
>>> wrote:
>>> >> On Mon, 29 Jun 2015, Peter Chen wrote:
>>> >>
>>> >>> Just like Steve pointed, it should be a ZLT problem, do you have
>>> >>> below patch in your tree, and the host may not send zlt, but you may
>>> >>> queue an zero-length request, the f_hid does not set req->zero flag
>>> >>> either.
>>> >>>
>>> >>> commit 953c66469735aed8d2ada639a72b150f01dae605
>>> >>> Author: Abbas Raza <Abbas_Raza@xxxxxxxxxx>
>>> >>> Date:   Thu Jul 17 19:34:31 2014 +0800
>>> >>>
>>> >>>     usb: chipidea: udc: Disable auto ZLP generation on ep0
>>> >>>
>>> >>>
>>> >>> If it still has problem, send me apps if possible (with needed
>>> >>> kernel patches).
>>> >>
>>> >> Note that a UDC should _never_ queue an extra zero-length packet for
>>> >> an OUT transfer, no matter how req->zero is set.  In other words,
>>> >> req->zero is supposed to affect only IN transfers.
>>> >>
>>> > Yes UDC gadgets receive packets sent by the host on OUT transfers. If
>>> > ZLT transfers are needed for the protocol, a short transfer is needed
>>> > to end an OUT sequence and it must be sent by the sender, in this case
>>> > the host. The UDC should detect receiving a zero length EP0 OUT and
>>> > that signals the end of the 64 byte transfer from host to gadget.
>>> >
>>> > Regards, Steve
>>>
>>> Thanks Alan, Peter and Steve for your help and quick response.
>>>
>>> In fact, today I tested with a similar patch i.e. have QH_IOS and QH_ZLT set for
>>> control endpoint in udc.c. The 64 byte transfer appears to work fine.
>>>
>>> I am not sure whether this is the ideal solution, Testing some more to ensure
>>> that there are no regressions. I will send out an update in about a day.
>>>
>>
>> The most probably is the QH_ZLT bit, your tree may not the patch I mentioned
>> above. The QH_IOS only affects a setup being received.
>>
>> Peter
>
> Sure, I will test this and update closure on this issue.
>
> Cheers,
> Jayan

The issue is resolved with the patch:
 commit 953c66469735aed8d2ada639a72b150f01dae605
 Author: Abbas Raza <Abbas_Raza@xxxxxxxxxx>

Thanks for all your support.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux