summaryrefslogtreecommitdiffstats
path: root/arch/parisc/oprofile
diff options
context:
space:
mode:
authorRoger Quadros <rogerq@ti.com>2018-02-12 14:30:08 +0100
committerFelipe Balbi <felipe.balbi@linux.intel.com>2018-02-15 14:28:35 +0100
commit98112041bcca164676367e261c8c1073ef70cb51 (patch)
treed2f247c984ac75e98738cf819d5edf2cba413c20 /arch/parisc/oprofile
parentUSB: gadget: udc: Add missing platform_device_put() on error in bdc_pci_probe() (diff)
downloadlinux-98112041bcca164676367e261c8c1073ef70cb51.tar.xz
linux-98112041bcca164676367e261c8c1073ef70cb51.zip
usb: dwc3: core: Fix ULPI PHYs and prevent phy_get/ulpi_init during suspend/resume
In order for ULPI PHYs to work, dwc3_phy_setup() and dwc3_ulpi_init() must be doene before dwc3_core_get_phy(). commit 541768b08a40 ("usb: dwc3: core: Call dwc3_core_get_phy() before initializing phys") broke this. The other issue is that dwc3_core_get_phy() and dwc3_ulpi_init() should be called only once during the life cycle of the driver. However, as dwc3_core_init() is called during system suspend/resume it will result in multiple calls to dwc3_core_get_phy() and dwc3_ulpi_init() which is wrong. Fix this by moving dwc3_ulpi_init() out of dwc3_phy_setup() into dwc3_core_ulpi_init(). Use a flag 'ulpi_ready' to ensure that dwc3_core_ulpi_init() is called only once from dwc3_core_init(). Use another flag 'phys_ready' to call dwc3_core_get_phy() only once from dwc3_core_init(). Fixes: 541768b08a40 ("usb: dwc3: core: Call dwc3_core_get_phy() before initializing phys") Fixes: f54edb539c11 ("usb: dwc3: core: initialize ULPI before trying to get the PHY") Cc: linux-stable <stable@vger.kernel.org> # >= v4.13 Signed-off-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Diffstat (limited to 'arch/parisc/oprofile')
0 files changed, 0 insertions, 0 deletions