diff options
| author | Madalin Bucur <madalin.bucur@nxp.com> | 2017-01-04 06:21:29 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2017-01-04 13:45:08 -0500 |
| commit | 3fe61f0940d9c7892462c893602fdccfe8b24e8c (patch) | |
| tree | 72cb72ab1b83f6d56c2cb1a547bcd9caee124c0d | |
| parent | c030af878f04b77011f6876e8c4f0530c26ed6d4 (diff) | |
dpaa_eth: cleanup after init_phy() failure
Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c index 624ba9058dc4..77517aa3e8d9 100644 --- a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c +++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | |||
| @@ -2291,7 +2291,8 @@ static int dpaa_open(struct net_device *net_dev) | |||
| 2291 | net_dev->phydev = mac_dev->init_phy(net_dev, priv->mac_dev); | 2291 | net_dev->phydev = mac_dev->init_phy(net_dev, priv->mac_dev); |
| 2292 | if (!net_dev->phydev) { | 2292 | if (!net_dev->phydev) { |
| 2293 | netif_err(priv, ifup, net_dev, "init_phy() failed\n"); | 2293 | netif_err(priv, ifup, net_dev, "init_phy() failed\n"); |
| 2294 | return -ENODEV; | 2294 | err = -ENODEV; |
| 2295 | goto phy_init_failed; | ||
| 2295 | } | 2296 | } |
| 2296 | 2297 | ||
| 2297 | for (i = 0; i < ARRAY_SIZE(mac_dev->port); i++) { | 2298 | for (i = 0; i < ARRAY_SIZE(mac_dev->port); i++) { |
| @@ -2314,6 +2315,7 @@ mac_start_failed: | |||
| 2314 | for (i = 0; i < ARRAY_SIZE(mac_dev->port); i++) | 2315 | for (i = 0; i < ARRAY_SIZE(mac_dev->port); i++) |
| 2315 | fman_port_disable(mac_dev->port[i]); | 2316 | fman_port_disable(mac_dev->port[i]); |
| 2316 | 2317 | ||
| 2318 | phy_init_failed: | ||
| 2317 | dpaa_eth_napi_disable(priv); | 2319 | dpaa_eth_napi_disable(priv); |
| 2318 | 2320 | ||
| 2319 | return err; | 2321 | return err; |
