aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/chipidea/core.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
index 0ead0b4a11e1..edeec3638684 100644
--- a/drivers/usb/chipidea/core.c
+++ b/drivers/usb/chipidea/core.c
@@ -236,7 +236,7 @@ static int hw_device_init(struct ci_hdrc *ci, void __iomem *base)
236 236
237static void hw_phymode_configure(struct ci_hdrc *ci) 237static void hw_phymode_configure(struct ci_hdrc *ci)
238{ 238{
239 u32 portsc, lpm, sts; 239 u32 portsc, lpm, sts = 0;
240 240
241 switch (ci->platdata->phy_mode) { 241 switch (ci->platdata->phy_mode) {
242 case USBPHY_INTERFACE_MODE_UTMI: 242 case USBPHY_INTERFACE_MODE_UTMI:
@@ -266,10 +266,12 @@ static void hw_phymode_configure(struct ci_hdrc *ci)
266 266
267 if (ci->hw_bank.lpm) { 267 if (ci->hw_bank.lpm) {
268 hw_write(ci, OP_DEVLC, DEVLC_PTS(7) | DEVLC_PTW, lpm); 268 hw_write(ci, OP_DEVLC, DEVLC_PTS(7) | DEVLC_PTW, lpm);
269 hw_write(ci, OP_DEVLC, DEVLC_STS, sts); 269 if (sts)
270 hw_write(ci, OP_DEVLC, DEVLC_STS, DEVLC_STS);
270 } else { 271 } else {
271 hw_write(ci, OP_PORTSC, PORTSC_PTS(7) | PORTSC_PTW, portsc); 272 hw_write(ci, OP_PORTSC, PORTSC_PTS(7) | PORTSC_PTW, portsc);
272 hw_write(ci, OP_PORTSC, PORTSC_STS, sts); 273 if (sts)
274 hw_write(ci, OP_PORTSC, PORTSC_STS, PORTSC_STS);
273 } 275 }
274} 276}
275 277