Commit 8d90991e authored by Michael Walle's avatar Michael Walle Committed by David S. Miller
Browse files

net: phy: mscc-miim: reject clause 45 register accesses



The driver doesn't support clause 45 register access yet, but doesn't
check if the access is a c45 one either. This leads to spurious register
reads and writes. Add the check.

Fixes: 542671fe ("net: phy: mscc-miim: Add MDIO driver")
Signed-off-by: default avatarMichael Walle <michael@walle.cc>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9386d181
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -102,6 +102,9 @@ static int mscc_miim_read(struct mii_bus *bus, int mii_id, int regnum)
	u32 val;
	u32 val;
	int ret;
	int ret;


	if (regnum & MII_ADDR_C45)
		return -EOPNOTSUPP;

	ret = mscc_miim_wait_pending(bus);
	ret = mscc_miim_wait_pending(bus);
	if (ret)
	if (ret)
		goto out;
		goto out;
@@ -145,6 +148,9 @@ static int mscc_miim_write(struct mii_bus *bus, int mii_id,
	struct mscc_miim_dev *miim = bus->priv;
	struct mscc_miim_dev *miim = bus->priv;
	int ret;
	int ret;


	if (regnum & MII_ADDR_C45)
		return -EOPNOTSUPP;

	ret = mscc_miim_wait_pending(bus);
	ret = mscc_miim_wait_pending(bus);
	if (ret < 0)
	if (ret < 0)
		goto out;
		goto out;