b14b22091bc103039b7279861e0fd7e371678a30
[openwrt/staging/ansuel.git] /
1 From 6cfc03b602200c5cbbd8d906fd905547814e83df Mon Sep 17 00:00:00 2001
2 From: Ansuel Smith <ansuelsmth@gmail.com>
3 Date: Sat, 16 Apr 2022 01:30:16 +0200
4 Subject: [PATCH 5/6] net: dsa: qca8k: correctly handle mdio read error
5
6 Restore original way to handle mdio read error by returning 0xffff.
7 This was wrongly changed when the internal_mdio_read was introduced,
8 now that both legacy and internal use the same function, make sure that
9 they behave the same way.
10
11 Fixes: ce062a0adbfe ("net: dsa: qca8k: fix kernel panic with legacy mdio mapping")
12 Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
13 Signed-off-by: David S. Miller <davem@davemloft.net>
14 ---
15 drivers/net/dsa/qca8k.c | 7 ++++++-
16 1 file changed, 6 insertions(+), 1 deletion(-)
17
18 --- a/drivers/net/dsa/qca8k.c
19 +++ b/drivers/net/dsa/qca8k.c
20 @@ -1287,7 +1287,12 @@ qca8k_internal_mdio_read(struct mii_bus
21 if (ret >= 0)
22 return ret;
23
24 - return qca8k_mdio_read(priv, phy, regnum);
25 + ret = qca8k_mdio_read(priv, phy, regnum);
26 +
27 + if (ret < 0)
28 + return 0xffff;
29 +
30 + return ret;
31 }
32
33 static int