Hi,

Peter Chen writes:
> On Wed, Jul 31, 2013 at 04:21:16PM +0200, Lothar Waßmann wrote:
> > commit 40dcd0e introduced the following code to the ci_hdrc_probe()
> > function:
> > 
> > +       if (!dev->of_node && dev->parent)
> > +               dev->of_node = dev->parent->of_node;
> > 
> > This inadvertently associates the ci_hdrc device with the ci_hdrc_imx
> > driver (which created the ci_hdrc device in the first place).
> > 
> > This results in ci_hdrc_imx_probe() being run for the ci_hdrc device
> > if ci_hdrc_probe() fails for some reason.
> > ci_hdrc_imx_probe() will happily create a new ci_hdrc platform_device
> > whose probing will likewise fail and trigger a new invocation of
> > ci_hdrc_imx_probe() ... ad nauseam.
> > 
> 
> Sorry, I can't understand how it happenes?
> 
If ci_hdrc_probe() fails, the driver core will look for other drivers
that might be able to handle the device. Since the of_node has been
copied from the parent device "imx_usb" the driver responsible for
the DT match of of_node (ci_hdrc_imx) will be called.


Lothar Waßmann
-- 
___________________________________________________________

Ka-Ro electronics GmbH | Pascalstraße 22 | D - 52076 Aachen
Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
Geschäftsführer: Matthias Kaussen
Handelsregistereintrag: Amtsgericht Aachen, HRB 4996

www.karo-electronics.de | i...@karo-electronics.de
___________________________________________________________
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to