Account for operational state when determining port linkup state,
as per Documentation/networking/operstates.txt.

Signed-off-by: George Wilkie <gwil...@vyatta.att-mail.com>
---
 drivers/net/team/team.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c
index a6c6ce19eeee..231264a05e55 100644
--- a/drivers/net/team/team.c
+++ b/drivers/net/team/team.c
@@ -2918,7 +2918,8 @@ static int team_device_event(struct notifier_block 
*unused,
        case NETDEV_CHANGE:
                if (netif_running(port->dev))
                        team_port_change_check(port,
-                                              !!netif_carrier_ok(port->dev));
+                                              !!(netif_carrier_ok(port->dev) &&
+                                                 netif_oper_up(port->dev)));
                break;
        case NETDEV_UNREGISTER:
                team_del_slave(port->team->dev, dev);
-- 
2.11.0

Reply via email to