linux/drivers/usb/chipidea
Lothar Waßmann e98b44e90b usb: chipidea: prevent endless loop registering platform_devices when probe fails
Commit 40dcd0e ("usb: chipidea: add PTW, PTS and STS handling") 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.

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Reviewed-and-tested-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-08-14 12:34:16 -07:00
..
bits.h usb: chipidea: cast PORTSC_PTS and DEVLC_PTS macros 2013-07-29 10:54:31 -07:00
ci.h usb: chipidea: drop "13xxx" infix 2013-06-24 16:16:55 -07:00
ci_hdrc_imx.c usb: chipidea: ci_hdrc_imx: remove an unsolicited module_put() call from ci_hdrc_imx_remove() 2013-08-14 12:34:16 -07:00
ci_hdrc_imx.h usb: chipidea: drop "13xxx" infix 2013-06-24 16:16:55 -07:00
ci_hdrc_msm.c usb: chipidea: drop "13xxx" infix 2013-06-24 16:16:55 -07:00
ci_hdrc_pci.c usb: chipidea: drop "13xxx" infix 2013-06-24 16:16:55 -07:00
core.c usb: chipidea: prevent endless loop registering platform_devices when probe fails 2013-08-14 12:34:16 -07:00
debug.c usb: chipidea: drop "13xxx" infix 2013-06-24 16:16:55 -07:00
debug.h usb: chipidea: drop "13xxx" infix 2013-06-24 16:16:55 -07:00
host.c usb: host: add has_tdi_phy_lpm capability bit 2013-08-12 13:29:46 -05:00
host.h usb: chipidea: drop "13xxx" infix 2013-06-24 16:16:55 -07:00
Kconfig usb: chipidea: improve kconfig 2.0 2013-08-14 12:34:16 -07:00
Makefile Device tree updates for v3.11 2013-07-04 15:51:45 -07:00
udc.c usb: chipidea: drop "13xxx" infix 2013-06-24 16:16:55 -07:00
udc.h usb: chipidea: drop "13xxx" infix 2013-06-24 16:16:55 -07:00
usbmisc_imx.c usb: chipidea: drop "13xxx" infix 2013-06-24 16:16:55 -07:00