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 <k...@umn.edu> --- 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