diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2011-03-27 01:01:26 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-03-27 23:35:06 -0700 |
commit | b5845f9834d8f4c79d324bc59b99dbcf0a40f428 (patch) | |
tree | 40f10df37db8b265cce4524dbe616688cbb701ee | |
parent | 6303e6e8da770e62a4d38f7206fe046514276d14 (diff) | |
download | linux-3.10-b5845f9834d8f4c79d324bc59b99dbcf0a40f428.tar.gz linux-3.10-b5845f9834d8f4c79d324bc59b99dbcf0a40f428.tar.bz2 linux-3.10-b5845f9834d8f4c79d324bc59b99dbcf0a40f428.zip |
mlx4_en: Fix loss of promiscuity
The mlx4_en driver uses the combination stop_port/start_port
in a number of places. Unfortunately that causes any promiscuous
mode settings on the hardware to be lost.
This patch fixes that problem.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/mlx4/en_netdev.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/mlx4/en_netdev.c b/drivers/net/mlx4/en_netdev.c index 5762ebde445..4f158baa024 100644 --- a/drivers/net/mlx4/en_netdev.c +++ b/drivers/net/mlx4/en_netdev.c @@ -742,6 +742,9 @@ int mlx4_en_start_port(struct net_device *dev) 0, MLX4_PROT_ETH)) mlx4_warn(mdev, "Failed Attaching Broadcast\n"); + /* Must redo promiscuous mode setup. */ + priv->flags &= ~(MLX4_EN_FLAG_PROMISC | MLX4_EN_FLAG_MC_PROMISC); + /* Schedule multicast task to populate multicast list */ queue_work(mdev->workqueue, &priv->mcast_task); |