usb: dwc3: drd: Don't check against CONFIG_OF
authorThinh Nguyen <Thinh.Nguyen@synopsys.com>
Tue, 15 Feb 2022 22:49:48 +0000 (14:49 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Feb 2022 15:12:21 +0000 (16:12 +0100)
The CONFIG_OF maybe set, but it may not be applicable to a device. In
such case, checking against that can cause the device fail to
initialize. Check against the device node (device->of_node) instead.

Fixes: a102f07e4edf ("usb: dwc3: drd: Add support for usb-conn-gpio based usb-role-switch")
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/9f15580ad5810b1e5f31c241b35ebedfbfc30a3f.1644964864.git.Thinh.Nguyen@synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc3/drd.c

index 25f322e62d3f7a7413b676d7800d33b1ece74b2e..b60b5f7b6dff469b4376080a31c7061b7102b2b6 100644 (file)
@@ -560,7 +560,7 @@ static int dwc3_setup_role_switch(struct dwc3 *dwc)
        if (IS_ERR(dwc->role_sw))
                return PTR_ERR(dwc->role_sw);
 
-       if (IS_ENABLED(CONFIG_OF)) {
+       if (dwc->dev->of_node) {
                /* populate connector entry */
                int ret = devm_of_platform_populate(dwc->dev);