]> git.baikalelectronics.ru Git - kernel.git/commitdiff
usb: dwc3: qcom: enable vbus override when in OTG dr-mode
authorNeil Armstrong <neil.armstrong@linaro.org>
Tue, 24 Jan 2023 08:31:21 +0000 (09:31 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Feb 2023 11:50:26 +0000 (12:50 +0100)
[ Upstream commit eb320f76e31dc835b9f57f04af1a2353b13bb7d8 ]

With vbus override enabled when in OTG dr_mode, Host<->Peripheral
switch now works on SM8550, otherwise the DWC3 seems to be stuck
in Host mode only.

Fixes: 97d1435f29a7 ("usb: dwc3: Add Qualcomm DWC3 glue driver")
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230123-topic-sm8550-upstream-dwc3-qcom-otg-v2-1-2d400e598463@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/usb/dwc3/dwc3-qcom.c

index 03321457a4a100edbacb06918d26c448637e43e5..2dcdeb52fc2931cf8985d6c4ccc8176bc8d4c0e5 100644 (file)
@@ -669,7 +669,7 @@ static int dwc3_qcom_probe(struct platform_device *pdev)
        qcom->mode = usb_get_dr_mode(&qcom->dwc3->dev);
 
        /* enable vbus override for device mode */
-       if (qcom->mode == USB_DR_MODE_PERIPHERAL)
+       if (qcom->mode != USB_DR_MODE_HOST)
                dwc3_qcom_vbus_override_enable(qcom, true);
 
        /* register extcon to override sw_vbus on Vbus change later */