net: dsa: slave: Fix autoneg for phys on switch MDIO bus

When the ports phys are connected to the switches internal MDIO bus,
we need to connect the phy to the slave netdev, otherwise
auto-negotiation etc, does not work.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Andrew Lunn 2014-11-05 19:47:28 +01:00 committed by David S. Miller
parent 5816c3dafb
commit b31f65fb43

View File

@ -489,11 +489,14 @@ static void dsa_slave_phy_setup(struct dsa_slave_priv *p,
/* We could not connect to a designated PHY, so use the switch internal
* MDIO bus instead
*/
if (!p->phy)
if (!p->phy) {
p->phy = ds->slave_mii_bus->phy_map[p->port];
else
phy_connect_direct(slave_dev, p->phy, dsa_slave_adjust_link,
p->phy_interface);
} else {
pr_info("attached PHY at address %d [%s]\n",
p->phy->addr, p->phy->drv->name);
}
}
int dsa_slave_suspend(struct net_device *slave_dev)