Hi, Fabio Estevam <festevam@xxxxxxxxx> writes: > Hi Felipe, > > On Wed, Feb 24, 2016 at 7:47 AM, Felipe Balbi <balbi@xxxxxxxxxx> wrote: > >> Then what DOES get called ? If we don't reach runtime_pm of the PHY, >> we must reach runtime_pm of chipidea. In that case, detect _there_ if >> you're running on one of the known broken ones and return -EBUSY or >> something like that. > > We don't reach runtime_pm in chipidea either. > > The reason is that mx23/mx28 do not turn on the > CI_HDRC_SUPPORTS_RUNTIME_PM flag in > drivers/usb/chipidea/ci_hdrc_imx.c. Then that's the problem. You should _always_ implement your runtime_pm callbacks otherwise driver model will assume you don't need to do ANYTHING for runtime pm and runtime suspend you unconditionally. As a test, try setting the flag but just returning -EBUSY from the top of runtime_suspend in chipidea. > Passing "usbcore.autosuspend=-1" make things to work fine. of course, this disables runtime_pm altogether. We can do the same thing without needing that flag at all. -- balbi
Attachment:
signature.asc
Description: PGP signature