linux/drivers/net/ethernet/ti
Johan Hovold a4e32b0d0a net: ethernet: ti: cpsw: fix deferred probe
Make sure to deregister all child devices also on probe errors to avoid
leaks and to fix probe deferral:

cpsw 4a100000.ethernet: omap_device: omap_device_enable() called from invalid state 1
cpsw 4a100000.ethernet: use pm_runtime_put_sync_suspend() in driver?
cpsw: probe of 4a100000.ethernet failed with error -22

Add generic helper to undo the effects of cpsw_probe_dt(), which will
also be used in a follow-on patch to fix further leaks that have been
introduced more recently.

Note that the platform device is now runtime-resumed before registering
any child devices in order to make sure that it is synchronously
suspended after having deregistered the children in the error path.

Fixes: 1fb19aa730 ("net: cpsw: Add parent<->child relation support
between cpsw and mdio")
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-11-18 13:48:53 -05:00
..
cpmac.c net: ti: cpmac: Fix compiler warning due to type confusion 2016-09-04 11:47:20 -07:00
cpsw_ale.c
cpsw_ale.h
cpsw-common.c net: cpsw: Fix ethernet regression for dm814x 2015-11-20 10:46:33 -05:00
cpsw-phy-sel.c net: ethernet: ti: cpsw: fix device and of_node leaks 2016-11-07 13:17:30 -05:00
cpsw.c net: ethernet: ti: cpsw: fix deferred probe 2016-11-18 13:48:53 -05:00
cpsw.h net: ethernet: ti: cpsw: remove rx_descs property 2016-06-17 21:27:57 -07:00
cpts.c
cpts.h
davinci_cpdma.c net: ethernet: ti: davinci_cpdma: move cpdma channel struct macroses to internals 2016-08-23 00:13:11 -07:00
davinci_cpdma.h net: ethernet: ti: davinci_cpdma: move cpdma channel struct macroses to internals 2016-08-23 00:13:11 -07:00
davinci_emac.c net: ethernet: ti: davinci_emac: fix device reference leak 2016-11-07 13:17:30 -05:00
davinci_mdio.c drivers: net: davinci_mdio: enable pm runtime auto for ti cpsw-mdio 2016-06-28 08:57:19 -04:00
Kconfig net: cpsw: make TI_CPSW_PHY_SEL invisible 2016-07-16 21:27:43 -07:00
Makefile
netcp_core.c treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
netcp_ethss.c phy: add phydev_name() wrapper 2016-01-07 14:31:25 -05:00
netcp_sgmii.c
netcp_xgbepcsr.c
netcp.h netcp: add more __le32 annotations 2015-12-11 19:34:39 -05:00
tlan.c tlan: avoid unused label with PCI=n 2016-10-13 09:56:00 -04:00
tlan.h