projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/mlx4_en: Process all completions in RX rings after port goes up
[cascardo/linux.git]
/
drivers
/
net
/
ethernet
/
mellanox
/
mlx4
/
en_netdev.c
diff --git
a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
index
7e703be
..
e25c11d
100644
(file)
--- a/
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
+++ b/
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
@@
-1733,6
+1733,13
@@
int mlx4_en_start_port(struct net_device *dev)
udp_tunnel_get_rx_info(dev);
priv->port_up = true;
udp_tunnel_get_rx_info(dev);
priv->port_up = true;
+
+ /* Process all completions if exist to prevent
+ * the queues freezing if they are full
+ */
+ for (i = 0; i < priv->rx_ring_num; i++)
+ napi_schedule(&priv->rx_cq[i]->napi);
+
netif_tx_start_all_queues(dev);
netif_device_attach(dev);
netif_tx_start_all_queues(dev);
netif_device_attach(dev);