From: Aric D. Blumer Date: Thu, 30 Jul 2009 17:42:30 +0000 (-0400) Subject: USB: ohci-pxa27x: Reconfigure power settings on resume X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=a75d048e1409bb2bae0d71645c4f6247d2ce9276;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git USB: ohci-pxa27x: Reconfigure power settings on resume On resume, the power-related bits in UHCRHDA were not being set, so they would default to the reset state. For PXA3xx devices, OCPM must be cleared, but it was remaining set from resume reset. Signed-off-by: Aric D. Blumer Cc: David Brownell Signed-off-by: Greg Kroah-Hartman Signed-off-by: Eric Miao --- diff --git a/drivers/usb/host/ohci-pxa27x.c b/drivers/usb/host/ohci-pxa27x.c index 61800742fc0..bbc0c3b720b 100644 --- a/drivers/usb/host/ohci-pxa27x.c +++ b/drivers/usb/host/ohci-pxa27x.c @@ -497,6 +497,7 @@ static int ohci_hcd_pxa27x_drv_resume(struct device *dev) { struct usb_hcd *hcd = dev_get_drvdata(dev); struct pxa27x_ohci *ohci = to_pxa27x_ohci(hcd); + struct pxaohci_platform_data *inf = dev->platform_data; int status; if (time_before(jiffies, ohci->ohci.next_statechange)) @@ -506,6 +507,9 @@ static int ohci_hcd_pxa27x_drv_resume(struct device *dev) if ((status = pxa27x_start_hc(ohci, dev)) < 0) return status; + /* Select Power Management Mode */ + pxa27x_ohci_select_pmm(ohci, inf->port_mode); + ohci_finish_controller_resume(hcd); return 0; }