diff options
-rw-r--r-- | drivers/net/ethernet/ti/keystone_ethss.c | 5 | ||||
-rw-r--r-- | drivers/net/ethernet/ti/keystone_ethss2.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/ethernet/ti/keystone_ethss.c b/drivers/net/ethernet/ti/keystone_ethss.c index 9c4c14ab52d..a6c55d22e2e 100644 --- a/drivers/net/ethernet/ti/keystone_ethss.c +++ b/drivers/net/ethernet/ti/keystone_ethss.c | |||
@@ -2193,6 +2193,11 @@ static void cpsw_slave_stop(struct cpsw_slave *slave, | |||
2193 | else | 2193 | else |
2194 | sgmii_port_regs = priv->sgmii_port34_regs; | 2194 | sgmii_port_regs = priv->sgmii_port34_regs; |
2195 | 2195 | ||
2196 | /* disable forwarding */ | ||
2197 | if (slave->ale) | ||
2198 | cpsw_ale_control_set(slave->ale, slave->port_num, | ||
2199 | ALE_PORT_STATE, ALE_PORT_STATE_DISABLE); | ||
2200 | |||
2196 | keystone_sgmii_rtreset(sgmii_port_regs, slave->slave_num, true); | 2201 | keystone_sgmii_rtreset(sgmii_port_regs, slave->slave_num, true); |
2197 | 2202 | ||
2198 | cpsw_port_reset(slave); | 2203 | cpsw_port_reset(slave); |
diff --git a/drivers/net/ethernet/ti/keystone_ethss2.c b/drivers/net/ethernet/ti/keystone_ethss2.c index 0e93f526ba3..7ff7363575f 100644 --- a/drivers/net/ethernet/ti/keystone_ethss2.c +++ b/drivers/net/ethernet/ti/keystone_ethss2.c | |||
@@ -2565,6 +2565,11 @@ static void cpsw2_port_config(struct cpsw2_slave *slave, int max_rx_len) | |||
2565 | 2565 | ||
2566 | static void cpsw2_slave_stop(struct cpsw2_slave *slave, struct cpsw2_priv *priv) | 2566 | static void cpsw2_slave_stop(struct cpsw2_slave *slave, struct cpsw2_priv *priv) |
2567 | { | 2567 | { |
2568 | /* disable forwarding */ | ||
2569 | if (slave->ale) | ||
2570 | cpsw_ale_control_set(slave->ale, slave->port_num, | ||
2571 | ALE_PORT_STATE, ALE_PORT_STATE_DISABLE); | ||
2572 | |||
2568 | cpsw2_port_reset(slave); | 2573 | cpsw2_port_reset(slave); |
2569 | 2574 | ||
2570 | if (!slave->phy) | 2575 | if (!slave->phy) |