net: macb: let miiphy_read/_write pass arbitrary addresses
authorJosef Holzmayr <holzmayr@rsi-elektrotechnik.de>
Wed, 2 Oct 2019 19:22:52 +0000 (21:22 +0200)
committerJoe Hershberger <joe.hershberger@ni.com>
Mon, 9 Dec 2019 15:47:42 +0000 (09:47 -0600)
This allows passing arbitrary addresses through macb_miiphy_read and
macb_miiphy_write, therefore enabling the mii command to access
all mdio bus devices instead of only the defined phy.

Signed-off-by: Josef Holzmayr <holzmayr@rsi-elektrotechnik.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
drivers/net/macb.c

index 0f0ede1dc098ef586fa692fb333c9282b6d508b6..83594253787cefb0736e9e70a558b4338ddd7607 100644 (file)
@@ -241,11 +241,8 @@ int macb_miiphy_read(struct mii_dev *bus, int phy_adr, int devad, int reg)
        struct macb_device *macb = to_macb(dev);
 #endif
 
-       if (macb->phy_addr != phy_adr)
-               return -1;
-
        arch_get_mdio_control(bus->name);
-       value = macb_mdio_read(macb, macb->phy_addr, reg);
+       value = macb_mdio_read(macb, phy_adr, reg);
 
        return value;
 }
@@ -261,11 +258,8 @@ int macb_miiphy_write(struct mii_dev *bus, int phy_adr, int devad, int reg,
        struct macb_device *macb = to_macb(dev);
 #endif
 
-       if (macb->phy_addr != phy_adr)
-               return -1;
-
        arch_get_mdio_control(bus->name);
-       macb_mdio_write(macb, macb->phy_addr, reg, value);
+       macb_mdio_write(macb, phy_adr, reg, value);
 
        return 0;
 }