Roger Quadros <rogerq@xxxxxx> writes: > 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@xxxxxxxxxxxxxxx> # >= v4.13 > Signed-off-by: Roger Quadros <rogerq@xxxxxx> unfortunately, this doesn't apply anymore. Care to rebase on testing/fixes? (give me a couple hours though, I'm still applying patches :-) cheers -- balbi
Attachment:
signature.asc
Description: PGP signature