aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Wilkie <gwilkie@vyatta.att-mail.com>2019-02-20 03:19:11 -0500
committerDavid S. Miller <davem@davemloft.net>2019-02-22 14:40:23 -0500
commit8c7a77267eec81dd81af8412f29e50c0b1082548 (patch)
treeea0abef5c43ee2f5d52c8d09e7ef32fa8620d7d7
parentc286909fe5458f69e533c845b757fd2c35064d26 (diff)
team: use operstate consistently for linkup
When a port is added to a team, its initial state is derived from netif_carrier_ok rather than netif_oper_up. If it is carrier up but operationally down at the time of being added, the port state.linkup will be set prematurely. port state.linkup should be set consistently using netif_oper_up rather than netif_carrier_ok. Fixes: f1d22a1e0595 ("team: account for oper state") Signed-off-by: George Wilkie <gwilkie@vyatta.att-mail.com> Acked-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/team/team.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c
index 958f1cf67282..6ce3f666d142 100644
--- a/drivers/net/team/team.c
+++ b/drivers/net/team/team.c
@@ -1256,7 +1256,7 @@ static int team_port_add(struct team *team, struct net_device *port_dev,
1256 list_add_tail_rcu(&port->list, &team->port_list); 1256 list_add_tail_rcu(&port->list, &team->port_list);
1257 team_port_enable(team, port); 1257 team_port_enable(team, port);
1258 __team_compute_features(team); 1258 __team_compute_features(team);
1259 __team_port_change_port_added(port, !!netif_carrier_ok(port_dev)); 1259 __team_port_change_port_added(port, !!netif_oper_up(port_dev));
1260 __team_options_change_check(team); 1260 __team_options_change_check(team);
1261 1261
1262 netdev_info(dev, "Port device %s added\n", portname); 1262 netdev_info(dev, "Port device %s added\n", portname);
@@ -2915,7 +2915,7 @@ static int team_device_event(struct notifier_block *unused,
2915 2915
2916 switch (event) { 2916 switch (event) {
2917 case NETDEV_UP: 2917 case NETDEV_UP:
2918 if (netif_carrier_ok(dev)) 2918 if (netif_oper_up(dev))
2919 team_port_change_check(port, true); 2919 team_port_change_check(port, true);
2920 break; 2920 break;
2921 case NETDEV_DOWN: 2921 case NETDEV_DOWN: