|
@@ -1164,11 +1164,17 @@ static void cpsw_init_host_port(struct cpsw_priv *priv)
|
|
|
|
|
|
static void cpsw_slave_stop(struct cpsw_slave *slave, struct cpsw_priv *priv)
|
|
static void cpsw_slave_stop(struct cpsw_slave *slave, struct cpsw_priv *priv)
|
|
{
|
|
{
|
|
|
|
+ u32 slave_port;
|
|
|
|
+
|
|
|
|
+ slave_port = cpsw_get_slave_port(priv, slave->slave_num);
|
|
|
|
+
|
|
if (!slave->phy)
|
|
if (!slave->phy)
|
|
return;
|
|
return;
|
|
phy_stop(slave->phy);
|
|
phy_stop(slave->phy);
|
|
phy_disconnect(slave->phy);
|
|
phy_disconnect(slave->phy);
|
|
slave->phy = NULL;
|
|
slave->phy = NULL;
|
|
|
|
+ cpsw_ale_control_set(priv->ale, slave_port,
|
|
|
|
+ ALE_PORT_STATE, ALE_PORT_STATE_DISABLE);
|
|
}
|
|
}
|
|
|
|
|
|
static int cpsw_ndo_open(struct net_device *ndev)
|
|
static int cpsw_ndo_open(struct net_device *ndev)
|