The LAN7431 uses an external phy, and it can be found anywhere in
the phy address space. This patch uses phy address 1 for LAN7430
only. And searches all addresses otherwise.

Signed-off-by: Bryan Whitehead <bryan.whiteh...@microchip.com>
---
 drivers/net/ethernet/microchip/lan743x_main.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/microchip/lan743x_main.c 
b/drivers/net/ethernet/microchip/lan743x_main.c
index e8ca98c..1ba8ea0 100644
--- a/drivers/net/ethernet/microchip/lan743x_main.c
+++ b/drivers/net/ethernet/microchip/lan743x_main.c
@@ -2719,8 +2719,9 @@ static int lan743x_mdiobus_init(struct lan743x_adapter 
*adapter)
        snprintf(adapter->mdiobus->id, MII_BUS_ID_SIZE,
                 "pci-%s", pci_name(adapter->pdev));
 
-       /* set to internal PHY id */
-       adapter->mdiobus->phy_mask = ~(u32)BIT(1);
+       if ((adapter->csr.id_rev & ID_REV_ID_MASK_) == ID_REV_ID_LAN7430_)
+               /* LAN7430 uses internal phy at address 1 */
+               adapter->mdiobus->phy_mask = ~(u32)BIT(1);
 
        /* register mdiobus */
        ret = mdiobus_register(adapter->mdiobus);
-- 
2.7.4

Reply via email to