Re: [PATCH] usb: chipidea: imx: properly check for usbmisc

From: Peter Chen
Date: Fri Aug 07 2015 - 01:56:37 EST


On Fri, Aug 07, 2015 at 10:11:47AM +0800, Peter Chen wrote:
> 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.

Oh, oops. The patch is right, I will queue it.

--

Best Regards,
Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/