diff options
author | Amir Vadai <amirv@mellanox.com> | 2013-01-30 23:07:11 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-01-31 12:48:48 -0500 |
commit | 3484aac16149636f0ba5b5b0789a2918c682db7e (patch) | |
tree | ace64d0ccf89db5b59b596892ba5337aebcff3ec /drivers/net/ethernet/mellanox/mlx4/mlx4_en.h | |
parent | 955154fa33df2b74f0fea8e7c84df6dfd954dab2 (diff) | |
download | op-kernel-dev-3484aac16149636f0ba5b5b0789a2918c682db7e.zip op-kernel-dev-3484aac16149636f0ba5b5b0789a2918c682db7e.tar.gz |
net/mlx4_en: Fix transmit timeout when driver restarts port
Under heavy CPU load, changing, ring size/mtu/etc. could result in transmit
timeout, since stop-start port might take more than 10 seconds.
Calling netif_detach_device to prevent tx queue transmit timeout.
netif_detach_device() is not called under ndo_stop, because netif_carrier_off
will prevent the timeout, and device should not be marked as not present, or
else user won't be able to start it later on.
CC: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Eugenia Emantayev <eugenia@mellanox.com>
Signed-off-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx4/mlx4_en.h')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/mlx4_en.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h index 4fb4a3e..43f0165 100644 --- a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h +++ b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h @@ -539,7 +539,7 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port, struct mlx4_en_port_profile *prof); int mlx4_en_start_port(struct net_device *dev); -void mlx4_en_stop_port(struct net_device *dev); +void mlx4_en_stop_port(struct net_device *dev, int detach); void mlx4_en_free_resources(struct mlx4_en_priv *priv); int mlx4_en_alloc_resources(struct mlx4_en_priv *priv); |