[PATCH] net: phy: phy: check return value of bus write
From: Aditya Pakki <hidden>
Date: 2018-12-26 18:04:19
phy_mii_ioctl() could fail when writing to the bus via mdiobus_write(). The fix adds a check and returns an error in case of failure. Signed-off-by: Aditya Pakki <redacted> --- drivers/net/phy/phy.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 1d73ac3309ce..1fbdaa96b36e 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c@@ -397,6 +397,7 @@ int phy_mii_ioctl(struct phy_device *phydev, struct ifreq *ifr, int cmd) struct mii_ioctl_data *mii_data = if_mii(ifr); u16 val = mii_data->val_in; bool change_autoneg = false; + int rc; switch (cmd) { case SIOCGMIIPHY:
@@ -443,8 +444,10 @@ int phy_mii_ioctl(struct phy_device *phydev, struct ifreq *ifr, int cmd) } } - mdiobus_write(phydev->mdio.bus, mii_data->phy_id, - mii_data->reg_num, val); + rc = mdiobus_write(phydev->mdio.bus, mii_data->phy_id, + mii_data->reg_num, val); + if (rc) + return rc; if (mii_data->phy_id == phydev->mdio.addr && mii_data->reg_num == MII_BMCR &&
--
2.17.1