]> git.baikalelectronics.ru Git - kernel.git/commit
net/mlx4_en: Fix transmit timeout when driver restarts port
authorAmir Vadai <amirv@mellanox.com>
Wed, 30 Jan 2013 23:07:11 +0000 (23:07 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 31 Jan 2013 17:48:48 +0000 (12:48 -0500)
commit753fe72de915a0935fa4bb94d18bc4ed448032e7
treeace64d0ccf89db5b59b596892ba5337aebcff3ec
parentb4c22195cd190beda86a5460004d41f661b56f39
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>
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
drivers/net/ethernet/mellanox/mlx4/mlx4_en.h