net/mlx4_en: Process all completions in RX rings after port goes up
[pandora-kernel.git] / drivers / net / ethernet / mellanox / mlx4 / en_netdev.c
index 308349a..3926b76 100644 (file)
@@ -684,6 +684,13 @@ int mlx4_en_start_port(struct net_device *dev)
        queue_work(mdev->workqueue, &priv->mcast_task);
 
        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);
        return 0;