On Thu, Aug 06, 2015 at 03:09:54PM +0200, Tomeu Vizoso wrote: > If usbmisc hasn't probed yet, defer the probe. > > It's not enough to check if the platform device for the OF node of the > usbmisc has been registered, but it also needs to have been probed > already before we can call imx_usbmisc_init(). > > This can happen if the order in which devices are probed change due to > async probing or on-demand probing of dependencies. > > Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> > --- > drivers/usb/chipidea/ci_hdrc_imx.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c > index 504554e41922..e3c61d5e9270 100644 > --- a/drivers/usb/chipidea/ci_hdrc_imx.c > +++ b/drivers/usb/chipidea/ci_hdrc_imx.c > @@ -104,7 +104,7 @@ static struct imx_usbmisc_data *usbmisc_get_init_data(struct device *dev) > misc_pdev = of_find_device_by_node(args.np); > of_node_put(args.np); > > - if (!misc_pdev) > + if (!misc_pdev || !platform_get_drvdata(misc_pdev)) > return ERR_PTR(-EPROBE_DEFER); "||"? or "&&"? You want usbmisc has already been probed. > > data->dev = &misc_pdev->dev; > -- > 2.4.3 > -- Best Regards, Peter Chen -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html