diff options
| -rw-r--r-- | drivers/usb/phy/phy-msm-qusb.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/usb/phy/phy-msm-qusb.c b/drivers/usb/phy/phy-msm-qusb.c index 07c96419fd60..09a61acceb81 100644 --- a/drivers/usb/phy/phy-msm-qusb.c +++ b/drivers/usb/phy/phy-msm-qusb.c @@ -701,7 +701,12 @@ static int qusb_phy_set_suspend(struct usb_phy *phy, int suspend) if (qphy->tcsr_clamp_dig_n) writel_relaxed(0x0, qphy->tcsr_clamp_dig_n); - qusb_phy_enable_power(qphy, false); + /* Do not disable power rails if there is vote for it */ + if (!qphy->rm_pulldown) + qusb_phy_enable_power(qphy, false); + else + dev_dbg(phy->dev, "race with rm_pulldown. Keep ldo ON\n"); + /* * Set put_into_high_z_state to true so next USB * cable connect, DPF_DMF request performs PHY |
