> > On Mon, Sep 14, 2015 at 11:32 PM, Fabio Estevam <festevam@xxxxxxxxx> > wrote: > > > This did not help. > > > > It is getting late here, so I will be able to try more things tomorrow. > > I was able to fix it. Your initial patch had a missing 'return 0' in > imx_prepare_enable_clks(), causing: > > clk_disable_unprepare(data->clk_ahb); > clk_disable_unprepare(data->clk_ipg); > > to always be called. > > Doing like this on top of your original patch: > > --- a/drivers/usb/chipidea/ci_hdrc_imx.c > +++ b/drivers/usb/chipidea/ci_hdrc_imx.c > @@ -212,6 +212,8 @@ static int imx_prepare_enable_clks(struct device *dev) > } > } > > + return 0; > + > err2: > clk_disable_unprepare(data->clk_ahb); > err1: > > , fixes the crash. > > Would you like to split your patch into dts and usb parts and then resend it > formally? > I have sent out the patches, one suggestion is you may need to add phandle for phy, you can use generic-phy, without clock information. Peter ��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥