aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--drivers/net/phy/mscc/mscc_main.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/phy/mscc/mscc_main.c b/drivers/net/phy/mscc/mscc_main.c
index acddef79f4e8..5391acdece05 100644
--- a/drivers/net/phy/mscc/mscc_main.c
+++ b/drivers/net/phy/mscc/mscc_main.c
@@ -1292,7 +1292,7 @@ out:
*/
static bool vsc8584_is_pkg_init(struct phy_device *phydev, bool reversed)
{
- struct mdio_device **map = phydev->mdio.bus->mdio_map;
+ struct mii_bus *bus = phydev->mdio.bus;
struct vsc8531_private *vsc8531;
struct phy_device *phy;
int i, addr;
@@ -1306,11 +1306,10 @@ static bool vsc8584_is_pkg_init(struct phy_device *phydev, bool reversed)
else
addr = vsc8531->base_addr + i;
- if (!map[addr])
+ phy = mdiobus_get_phy(bus, addr);
+ if (!phy)
continue;
- phy = container_of(map[addr], struct phy_device, mdio);
-
if ((phy->phy_id & phydev->drv->phy_id_mask) !=
(phydev->drv->phy_id & phydev->drv->phy_id_mask))
continue;