diff mbox series

net: phy: phy: check return value of bus write

Message ID 20181226180406.7881-1-pakki001@umn.edu
State Changes Requested, archived
Delegated to: David Miller
Headers show
Series net: phy: phy: check return value of bus write | expand

Commit Message

Aditya Pakki Dec. 26, 2018, 6:04 p.m. UTC
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 <pakki001@umn.edu>
---
 drivers/net/phy/phy.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Heiner Kallweit Dec. 26, 2018, 6:16 p.m. UTC | #1
On 26.12.2018 19:04, Aditya Pakki wrote:
> 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 <pakki001@umn.edu>
> ---
>  drivers/net/phy/phy.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
This file belongs to phylib, not to a specific driver.
"net: phy: phy:" in the subject doesn't make sense, it should be
just "net: phy:". You can see this in the history of the file.

And as commented on another patch of yours:
net-next is closed currently.

Your efforts are appreciated, however you should start with
reading the following:
https://www.kernel.org/doc/Documentation/networking/netdev-FAQ.txt

Heiner
diff mbox series

Patch

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 &&