RE: USB Ethernet/RNDIS Gadget issue

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

 



Hi,

Gil Weber <gil.weber@xxxxxxxxxxxxxxxxxxxxxxxxx> writes:
>> interesting. Wonder what Windows is doing differently. Yeah, I guess the
>> best way forward is to find which commit caused the regression and git
>> bisect is the way to do that. Would be nice to see v3.13, v3.14,
>> v3.15... are working or not. The idea is to find the smallest interval
>> for bisection.
>> 
>
> I finally bisect the kernel (I didn't known that command, thanks for the tip)
> and found that it doesn't work anymore from this commit :
>
> b0bac2581c1918cc4ab0aca01977ad69f0bc127a is the first bad commit
> commit b0bac2581c1918cc4ab0aca01977ad69f0bc127a
> Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx>
> Date:   Wed Sep 16 12:10:42 2015 +0200
>
>     usb: gadget: introduce 'enabled' flag in struct usb_ep
>
>     This patch introduces 'enabled' flag in struct usb_ep, and modifies
>     usb_ep_enable() and usb_ep_disable() functions to encapsulate endpoint
>     enabled/disabled state. It helps to avoid enabling endpoints which are
>     already enabled, and disabling endpoints which are already disables.
>
>     From now USB functions don't have to remember current endpoint
>     enable/disable state, as this state is now handled automatically which
>     makes this API less bug-prone.
>
>     Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx>
>     Signed-off-by: Felipe Balbi <balbi@xxxxxx>
>
>
> If I comment the test in function usb_ep_enable and usb_ep_disable to avoid
> enabling or disabling endpoints that already are, it works.
> But I guess the real issue is that this function is called more than once
> at some point?

This is the second bug report involving Robert's series, we really need
to give some deeper attention to this. Robert, care to comment ?

So, this means that if you let endpoints be enabled or disabled more
than once, then it works ? Sounds like a bug in the UDC controller to
me. Robert's patch just helped trigger the problem. Which controller
were you using again ? Was it Atmel UDC ?

-- 
balbi

Attachment: signature.asc
Description: PGP signature


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

  Powered by Linux