[PATCH] net: lan9303: fix missing error handling

From: Kangjie Lu
Date: Sun Mar 10 2019 - 04:09:11 EST


Both lan9303_phy_write and regmap_write may fail. The fix adds
the error handling to print error messages upon failure.

Signed-off-by: Kangjie Lu <kjlu@xxxxxxx>
---
drivers/net/dsa/lan9303-core.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/drivers/net/dsa/lan9303-core.c b/drivers/net/dsa/lan9303-core.c
index 2ffab7ee3d80..3f5e89f431f9 100644
--- a/drivers/net/dsa/lan9303-core.c
+++ b/drivers/net/dsa/lan9303-core.c
@@ -1072,6 +1072,10 @@ static void lan9303_adjust_link(struct dsa_switch *ds, int port,
ctl &= ~BMCR_FULLDPLX;

res = lan9303_phy_write(ds, port, MII_BMCR, ctl);
+ if (res) {
+ dev_err(ds->dev, "lan9303_phy_write failed: %d\n", res);
+ return;
+ }

if (port == chip->phy_addr_base) {
/* Virtual Phy: Remove Turbo 200Mbit mode */
@@ -1080,6 +1084,8 @@ static void lan9303_adjust_link(struct dsa_switch *ds, int port,
ctl &= ~LAN9303_VIRT_SPECIAL_TURBO;
res = regmap_write(chip->regmap,
LAN9303_VIRT_SPECIAL_CTRL, ctl);
+ if (res)
+ dev_err(ds->dev, "regmap_write failed: %d\n", res);
}
}

--
2.17.1