diff options
author | Peter Chen <peter.chen@freescale.com> | 2015-06-03 19:30:59 +0800 |
---|---|---|
committer | Nitin Garg <nitin.garg@freescale.com> | 2015-09-17 09:23:25 -0500 |
commit | a6daa12e14635c1321892087cbcd8f8cdf6216f2 (patch) | |
tree | e7940d7d6a2aefd0d064479ac5670e63d9f922b1 /drivers/usb | |
parent | b5e005266c6d2ac43fa060258e3c90c8e2d65ef9 (diff) |
MLK-10994-4 usb: ehci: Keep portsc unchanging when power off port
If PORT_RWC_BITS is set, it will still be cleared by writing 1.
portsc.ptw can only be changed when PHY clock is off and portsc.phcd is set,
if not, the PHY will be error, so we keep portsc.ptw unchanging
in this patch.
Signed-off-by: Peter Chen <peter.chen@freescale.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/host/ehci-hcd.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index d28387f17162..e0967068c5af 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -331,7 +331,8 @@ static void ehci_turn_off_all_ports(struct ehci_hcd *ehci) int port = HCS_N_PORTS(ehci->hcs_params); while (port--) { - ehci_writel(ehci, PORT_RWC_BITS, + u32 portsc = ehci_readl(ehci, &ehci->regs->port_status[port]); + ehci_writel(ehci, portsc, &ehci->regs->port_status[port]); spin_unlock_irq(&ehci->lock); ehci_port_power(ehci, port, false); |