aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorOleksij Rempel <o.rempel@pengutronix.de>2024-12-09 14:07:49 +0100
committerJakub Kicinski <kuba@kernel.org>2024-12-10 18:50:58 -0800
commit21fff45a6cc1b5fceeedc5f6e2ccb118d4c19063 (patch)
tree33e863eda285f54b26f220d19744bf084d6c93d4
parentnet: usb: lan78xx: Fix return value handling in lan78xx_set_features (diff)
downloadwireguard-linux-21fff45a6cc1b5fceeedc5f6e2ccb118d4c19063.tar.xz
wireguard-linux-21fff45a6cc1b5fceeedc5f6e2ccb118d4c19063.zip
net: usb: lan78xx: Improve error handling in lan78xx_phy_wait_not_busy
Update `lan78xx_phy_wait_not_busy` to forward errors from `lan78xx_read_reg` instead of overwriting them with `-EIO`. Replace `-EIO` with `-ETIMEDOUT` for timeout cases, providing more specific and appropriate error codes. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Link: https://patch.msgid.link/20241209130751.703182-10-o.rempel@pengutronix.de Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--drivers/net/usb/lan78xx.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
index 71f8176210c9..7e7407748426 100644
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
@@ -963,14 +963,14 @@ static int lan78xx_phy_wait_not_busy(struct lan78xx_net *dev)
do {
ret = lan78xx_read_reg(dev, MII_ACC, &val);
- if (unlikely(ret < 0))
- return -EIO;
+ if (ret < 0)
+ return ret;
if (!(val & MII_ACC_MII_BUSY_))
return 0;
} while (!time_after(jiffies, start_time + HZ));
- return -EIO;
+ return -ETIMEDOUT;
}
static inline u32 mii_access(int id, int index, int read)