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 fb5a09ffebb00915913feb8bc77e087452155627..a29a4ca833c19c0bc1e5ea908c8ec46829a736f4 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;