net/mlx5e: Placement changed for carrier state updates
authorTariq Toukan <tariqt@mellanox.com>
Tue, 1 Mar 2016 22:13:33 +0000 (00:13 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 1 Mar 2016 22:27:59 +0000 (17:27 -0500)
More proper to declare carrier state UP only after the channels
are ready for traffic.

Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx5/core/en_main.c

index 38944b8..013be09 100644 (file)
@@ -1451,8 +1451,8 @@ int mlx5e_open_locked(struct net_device *netdev)
                goto err_close_channels;
        }
 
-       mlx5e_update_carrier(priv);
        mlx5e_redirect_rqts(priv);
+       mlx5e_update_carrier(priv);
        mlx5e_timestamp_init(priv);
 
        schedule_delayed_work(&priv->update_stats_work, 0);
@@ -1491,8 +1491,8 @@ int mlx5e_close_locked(struct net_device *netdev)
        clear_bit(MLX5E_STATE_OPENED, &priv->state);
 
        mlx5e_timestamp_cleanup(priv);
-       mlx5e_redirect_rqts(priv);
        netif_carrier_off(priv->netdev);
+       mlx5e_redirect_rqts(priv);
        mlx5e_close_channels(priv);
 
        return 0;