net: dsa: qca8k: correctly handle mdio read error
authorAnsuel Smith <ansuelsmth@gmail.com>
Fri, 15 Apr 2022 23:30:16 +0000 (01:30 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 17 Apr 2022 12:28:29 +0000 (13:28 +0100)
Restore original way to handle mdio read error by returning 0xffff.
This was wrongly changed when the internal_mdio_read was introduced,
now that both legacy and internal use the same function, make sure that
they behave the same way.

Fixes: ce062a0adbfe ("net: dsa: qca8k: fix kernel panic with legacy mdio mapping")
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/qca8k.c

index ef8d686..4fb1486 100644 (file)
@@ -1287,7 +1287,12 @@ qca8k_internal_mdio_read(struct mii_bus *slave_bus, int phy, int regnum)
        if (ret >= 0)
                return ret;
 
-       return qca8k_mdio_read(priv, phy, regnum);
+       ret = qca8k_mdio_read(priv, phy, regnum);
+
+       if (ret < 0)
+               return 0xffff;
+
+       return ret;
 }
 
 static int