summaryrefslogtreecommitdiffstats
path: root/drivers/net/phy/marvell.c
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@xilinx.com>2016-05-18 12:46:12 +0200
committerMichal Simek <michal.simek@xilinx.com>2016-05-24 13:17:59 +0200
commitb733c278d7adc48c71bd06faf359db3d9e385185 (patch)
treeffac509445c1f6964c49fac2bad7773825a73f13 /drivers/net/phy/marvell.c
parentef5e821bd89aa059a20841e041221dadbf60aa7d (diff)
downloadtalos-obmc-uboot-b733c278d7adc48c71bd06faf359db3d9e385185.tar.gz
talos-obmc-uboot-b733c278d7adc48c71bd06faf359db3d9e385185.zip
net: phy: Handle phy_startup() error codes properly
Propagate error code from genphy_update_link() to phy startup(). Signed-off-by: Michal Simek <michal.simek@xilinx.com> Acked-by: Stephen Warren <swarren@nvidia.com>
Diffstat (limited to 'drivers/net/phy/marvell.c')
-rw-r--r--drivers/net/phy/marvell.c29
1 files changed, 19 insertions, 10 deletions
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index d24451be0a..64713fbaeb 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -162,10 +162,13 @@ static int m88e1xxx_parse_status(struct phy_device *phydev)
static int m88e1011s_startup(struct phy_device *phydev)
{
- genphy_update_link(phydev);
- m88e1xxx_parse_status(phydev);
+ int ret;
- return 0;
+ ret = genphy_update_link(phydev);
+ if (ret)
+ return ret;
+
+ return m88e1xxx_parse_status(phydev);
}
/* Marvell 88E1111S */
@@ -358,13 +361,16 @@ static int m88e1118_config(struct phy_device *phydev)
static int m88e1118_startup(struct phy_device *phydev)
{
+ int ret;
+
/* Change Page Number */
phy_write(phydev, MDIO_DEVAD_NONE, MIIM_88E1118_PHY_PAGE, 0x0000);
- genphy_update_link(phydev);
- m88e1xxx_parse_status(phydev);
+ ret = genphy_update_link(phydev);
+ if (ret)
+ return ret;
- return 0;
+ return m88e1xxx_parse_status(phydev);
}
/* Marvell 88E1121R */
@@ -421,12 +427,15 @@ static int m88e1145_config(struct phy_device *phydev)
static int m88e1145_startup(struct phy_device *phydev)
{
- genphy_update_link(phydev);
+ int ret;
+
+ ret = genphy_update_link(phydev);
+ if (ret)
+ return ret;
+
phy_write(phydev, MDIO_DEVAD_NONE, MIIM_88E1145_PHY_LED_CONTROL,
MIIM_88E1145_PHY_LED_DIRECT);
- m88e1xxx_parse_status(phydev);
-
- return 0;
+ return m88e1xxx_parse_status(phydev);
}
/* Marvell 88E1149S */
OpenPOWER on IntegriCloud