summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorRamneek Mehresh <ramneek.mehresh@freescale.com>2014-12-05 07:32:23 (GMT)
committerMatthew Weigel <Matthew.Weigel@freescale.com>2014-12-11 18:41:52 (GMT)
commit4b3b4d84f68122d948c9590caadc0aefa4e36339 (patch)
treee4ce5900755f88f782deaff71fa36fdcc2aca84d /drivers/usb
parent2efd65d4645ef265bc7748f684ae677f7edd916b (diff)
downloadlinux-fsl-qoriq-4b3b4d84f68122d948c9590caadc0aefa4e36339.tar.xz
drivers:usb: Fix usb suspend/resume for deep-sleep
Save usb controller and phy registers for deep-sleep Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com> Change-Id: I58696ab15c629a7712adcba67df9b8fd582a1c6e Reviewed-on: http://git.am.freescale.net:8181/25418 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Suresh Gupta <suresh.gupta@freescale.com> Reviewed-by: Matthew Weigel <Matthew.Weigel@freescale.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/host/ehci-fsl.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
index 2f319db..07bdd3a 100644
--- a/drivers/usb/host/ehci-fsl.c
+++ b/drivers/usb/host/ehci-fsl.c
@@ -729,6 +729,9 @@ static int ehci_fsl_drv_suspend(struct device *dev)
struct usb_hcd *hcd = dev_get_drvdata(dev);
struct ehci_fsl *ehci_fsl = hcd_to_ehci_fsl(hcd);
void __iomem *non_ehci = hcd->regs;
+
+ ehci_fsl_save_context(hcd);
+
#if defined(CONFIG_FSL_USB2_OTG) || defined(CONFIG_FSL_USB2_OTG_MODULE)
struct usb_bus host = hcd->self;
#endif
@@ -759,8 +762,6 @@ static int ehci_fsl_drv_suspend(struct device *dev)
if (!fsl_deep_sleep())
return 0;
- ehci_fsl_save_context(hcd);
-
ehci_fsl->usb_ctrl = ioread32be(non_ehci + FSL_SOC_USB_CTRL);
return 0;
}
@@ -772,8 +773,7 @@ static int ehci_fsl_drv_resume(struct device *dev)
struct ehci_hcd *ehci = hcd_to_ehci(hcd);
void __iomem *non_ehci = hcd->regs;
- if (fsl_deep_sleep())
- ehci_fsl_restore_context(hcd);
+ ehci_fsl_restore_context(hcd);
#if defined(CONFIG_FSL_USB2_OTG) || defined(CONFIG_FSL_USB2_OTG_MODULE)
struct usb_bus host = hcd->self;