usb: dwc2: Defer forcing peripheral mode
[platform/kernel/linux-rpi.git] / drivers / usb / dwc2 / params.c
index d0508a0..5e0f85c 100644 (file)
@@ -864,7 +864,8 @@ static void dwc2_get_dev_hwparams(struct dwc2_hsotg *hsotg)
        if (hsotg->dr_mode == USB_DR_MODE_HOST)
                return;
 
-       dwc2_force_mode(hsotg, false);
+       if (hsotg->dr_mode != USB_DR_MODE_PERIPHERAL)
+               dwc2_force_mode(hsotg, false);
 
        gnptxfsiz = dwc2_readl(hsotg, GNPTXFSIZ);