diff options
author | Yevgeny Petrilin <yevgenyp@mellanox.co.il> | 2010-08-24 03:45:45 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-08-24 14:54:48 -0700 |
commit | 7c2873809dd1a2d5e46be3f0ff2071fcdc3cf0fd (patch) | |
tree | 73a37e2eca1aa32938cf16eea20bc009126fa2ba /drivers/net/mlx4 | |
parent | 8bf2e58f8b7a14244bf182ad0a3ba0457ad70c62 (diff) | |
download | op-kernel-dev-7c2873809dd1a2d5e46be3f0ff2071fcdc3cf0fd.zip op-kernel-dev-7c2873809dd1a2d5e46be3f0ff2071fcdc3cf0fd.tar.gz |
mlx4_en: performing CLOSE_PORT at the end of tear-down process
All port's resources should be closed before we give the
CLOSE_PORT command to the firmware.
Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/mlx4')
-rw-r--r-- | drivers/net/mlx4/en_netdev.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/mlx4/en_netdev.c b/drivers/net/mlx4/en_netdev.c index 4d6dac7..985e6f8 100644 --- a/drivers/net/mlx4/en_netdev.c +++ b/drivers/net/mlx4/en_netdev.c @@ -704,9 +704,8 @@ void mlx4_en_stop_port(struct net_device *dev) netif_tx_stop_all_queues(dev); netif_tx_unlock_bh(dev); - /* close port*/ + /* Set port as not active */ priv->port_up = false; - mlx4_CLOSE_PORT(mdev->dev, priv->port); /* Unregister Mac address for the port */ mlx4_unregister_mac(mdev->dev, priv->port, priv->mac_index); @@ -731,6 +730,9 @@ void mlx4_en_stop_port(struct net_device *dev) msleep(1); mlx4_en_deactivate_cq(priv, &priv->rx_cq[i]); } + + /* close port*/ + mlx4_CLOSE_PORT(mdev->dev, priv->port); } static void mlx4_en_restart(struct work_struct *work) |