diff options
author | Peter Chen <peter.chen@freescale.com> | 2013-04-10 15:18:39 +0800 |
---|---|---|
committer | Peter Chen <peter.chen@freescale.com> | 2013-04-11 13:32:27 +0800 |
commit | cad60dac3cc4ae121b28c58ec14cfa6eb2c7f667 (patch) | |
tree | 157c7a6f213065321ac341f73e6cbb37d4f46090 /drivers/usb/host/ehci-arc.c | |
parent | 8fcf7ec64f6884d70d83a8d5319cc9dc4450701b (diff) |
ENGR00257130-7 usb: host: Disable wakeup when switch PHY from off to on
Disable wakeup interrupt, since there is wakeup
when phcd from 1->0 if wakeup interrupt is enabled.
The unexpected wakeup can be disappeared using this fix.
Signed-off-by: Peter Chen <peter.chen@freescale.com>
Diffstat (limited to 'drivers/usb/host/ehci-arc.c')
-rwxr-xr-x | drivers/usb/host/ehci-arc.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/usb/host/ehci-arc.c b/drivers/usb/host/ehci-arc.c index dbe49b7eb4b8..1dbe54f2b183 100755 --- a/drivers/usb/host/ehci-arc.c +++ b/drivers/usb/host/ehci-arc.c @@ -680,9 +680,20 @@ static int ehci_fsl_drv_suspend(struct platform_device *pdev, if (!host_can_wakeup_system(pdev)) { /* Need open clock for register access */ fsl_usb_clk_gate(hcd->self.controller->platform_data, true); + /* + * Disable wakeup interrupt, since there is wakeup + * when phcd from 1->0 if wakeup interrupt is enabled + */ + usb_host_set_wakeup(hcd->self.controller, false); + + /* + * Open PHY's clock, then the wakeup settings + * can be wroten correctly + */ fsl_usb_lowpower_mode(pdata, false); usb_host_set_wakeup(hcd->self.controller, false); + fsl_usb_lowpower_mode(pdata, true); fsl_usb_clk_gate(hcd->self.controller->platform_data, false); |