OSDN Git Service

usb: dwc3: gadget: set gadgets parent to the right controller
authorMichael Grzeschik <m.grzeschik@pengutronix.de>
Mon, 28 Jun 2021 15:53:07 +0000 (17:53 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Jul 2021 13:59:18 +0000 (15:59 +0200)
In case of dwc3 it is possible that the sysdev is the parent of the
controller. To ensure the right dev is set to the gadget's dev parent we
will hand over sysdev instead of dev, which will always point to the
controller.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Link: https://lore.kernel.org/r/20210628155311.16762-2-m.grzeschik@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc3/gadget.c

index fb5a09f..a29a4ca 100644 (file)
@@ -4233,7 +4233,7 @@ int dwc3_gadget_init(struct dwc3 *dwc)
        }
 
 
-       usb_initialize_gadget(dwc->dev, dwc->gadget, dwc_gadget_release);
+       usb_initialize_gadget(dwc->sysdev, dwc->gadget, dwc_gadget_release);
        dev                             = &dwc->gadget->dev;
        dev->platform_data              = dwc;
        dwc->gadget->ops                = &dwc3_gadget_ops;