Hi,

Fabio Estevam <[email protected]> writes:
> Hi Felipe,
>
> On Wed, Feb 24, 2016 at 7:47 AM, Felipe Balbi <[email protected]> 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

Reply via email to