net: ethernet: mediatek: get out of potential invalid pointer access

Potential dangerous invalid pointer might be accessed if
the error happens when couple phy_device to net_device so
cleanup the error path.

Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Sean Wang 2016-09-22 16:44:16 +08:00 committed by David S. Miller
parent 3e60b748fd
commit f6f7d9c03f

View file

@ -296,7 +296,9 @@ static int mtk_phy_connect(struct net_device *dev)
regmap_write(eth->ethsys, ETHSYS_SYSCFG0, val);
/* couple phydev to net_device */
mtk_phy_connect_node(eth, mac, np);
if (mtk_phy_connect_node(eth, mac, np))
goto err_phy;
dev->phydev->autoneg = AUTONEG_ENABLE;
dev->phydev->speed = 0;
dev->phydev->duplex = 0;
@ -317,7 +319,7 @@ static int mtk_phy_connect(struct net_device *dev)
err_phy:
of_node_put(np);
dev_err(eth->dev, "invalid phy_mode\n");
dev_err(eth->dev, "%s: invalid phy\n", __func__);
return -EINVAL;
}