usb: gadget breakage on N900: bind UDC by name passed via usb_gadget_driver structure

Ruslan Bilovol ruslan.bilovol at gmail.com
Fri Mar 18 00:47:57 PDT 2016


Hi Pavel

On Thu, Mar 17, 2016 at 11:26 PM, Pavel Machek <pavel at ucw.cz> wrote:
> Hi!
>
> USB gadget stops working for me on n900, if I merge

Could you please give us more details?
Which gadget driver do you use (g_nokia?)

>
> usb: gadget: bind UDC by name passed via usb_gadget_driver structure
>
> patch.
>
> commit 2284b29d3d9dd16490909962574d7f3fef83fd97
> Author: Ruslan Bilovol <ruslan.bilovol at gmail.com>
> Date:   Mon Nov 23 09:56:35 2015 +0100
>
>     usb: gadget: bind UDC by name passed via usb_gadget_driver
>     structure
>
>     Introduce new 'udc_name' member to usb_gadget_driver structure.
>         The 'udc_name' is a name of UDC that usb_gadget_driver should
>             be bound to. If udc_name is NULL, it will be bound to any
>                 available UDC.
>
>     Tested-by: Maxime Ripard <maxime.ripard at free-electrons.com>
>         Signed-off-by: Ruslan Bilovol <ruslan.bilovol at gmail.com>
>             Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
>                 Tested-by: Peter Chen <peter.chen at freescale.com>
>                     Signed-off-by: Felipe Balbi <balbi at ti.com>
>
>
> Patch is obvious enough... if there's someone who sets udc_name to
> NULL. Who is supposed to do that?

That is done automatically if you use libcomposite.
There is a static usb_gadget_driver composite_driver_template structure in
composite.c that is used in usb_composite_probe later (used by libcomposite
based gadgets). Since it's statically declared, 'udc_name' member is set
to NULL automatically.

Other gadgets (not based on libcomposite) use same approach with
statically declared usb_gadget_driver structure.

>
> (I have patch in my tree to make USB gadget work when it is not
> modular).

So this can be reproduced only on builtin gadget, right?

BTW, I have N900 and can try to play with it this weekend if you'll
give us more details.

Best regards,
Ruslan

>
> Best regards,
>                                                                         Pavel
> --
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html



More information about the linux-arm-kernel mailing list