diff --git a/drivers/usb/dwc3/dwc3-msm.c b/drivers/usb/dwc3/dwc3-msm.c index e0122b85ab6a..02fb367c09f9 100644 --- a/drivers/usb/dwc3/dwc3-msm.c +++ b/drivers/usb/dwc3/dwc3-msm.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -2187,6 +2188,7 @@ static int dwc3_msm_config_gdsc(struct dwc3_msm *mdwc, int on) return ret; } + qcom_clk_set_flags(mdwc->core_clk, CLKFLAG_RETAIN_MEM); ret = clk_prepare_enable(mdwc->core_csr_clk); if (ret) { regulator_disable(mdwc->dwc3_gdsc); @@ -2194,6 +2196,7 @@ static int dwc3_msm_config_gdsc(struct dwc3_msm *mdwc, int on) return ret; } } else { + qcom_clk_set_flags(mdwc->core_clk, CLKFLAG_NORETAIN_MEM); clk_disable_unprepare(mdwc->core_csr_clk); ret = regulator_disable(mdwc->dwc3_gdsc); if (ret) {