Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[cascardo/linux.git] / drivers / net / ethernet / mellanox / mlx4 / en_netdev.c
index 7869f97..0c7e3f6 100644 (file)
@@ -69,34 +69,6 @@ int mlx4_en_setup_tc(struct net_device *dev, u8 up)
        return 0;
 }
 
-#ifdef CONFIG_NET_RX_BUSY_POLL
-/* must be called with local_bh_disable()d */
-static int mlx4_en_low_latency_recv(struct napi_struct *napi)
-{
-       struct mlx4_en_cq *cq = container_of(napi, struct mlx4_en_cq, napi);
-       struct net_device *dev = cq->dev;
-       struct mlx4_en_priv *priv = netdev_priv(dev);
-       struct mlx4_en_rx_ring *rx_ring = priv->rx_ring[cq->ring];
-       int done;
-
-       if (!priv->port_up)
-               return LL_FLUSH_FAILED;
-
-       if (!mlx4_en_cq_lock_poll(cq))
-               return LL_FLUSH_BUSY;
-
-       done = mlx4_en_process_rx_cq(dev, cq, 4);
-       if (likely(done))
-               rx_ring->cleaned += done;
-       else
-               rx_ring->misses++;
-
-       mlx4_en_cq_unlock_poll(cq);
-
-       return done;
-}
-#endif /* CONFIG_NET_RX_BUSY_POLL */
-
 #ifdef CONFIG_RFS_ACCEL
 
 struct mlx4_en_filter {
@@ -1561,8 +1533,6 @@ int mlx4_en_start_port(struct net_device *dev)
        for (i = 0; i < priv->rx_ring_num; i++) {
                cq = priv->rx_cq[i];
 
-               mlx4_en_cq_init_lock(cq);
-
                err = mlx4_en_init_affinity_hint(priv, i);
                if (err) {
                        en_err(priv, "Failed preparing IRQ affinity hint\n");
@@ -1859,13 +1829,6 @@ void mlx4_en_stop_port(struct net_device *dev, int detach)
        for (i = 0; i < priv->rx_ring_num; i++) {
                struct mlx4_en_cq *cq = priv->rx_cq[i];
 
-               local_bh_disable();
-               while (!mlx4_en_cq_lock_napi(cq)) {
-                       pr_info("CQ %d locked\n", i);
-                       mdelay(1);
-               }
-               local_bh_enable();
-
                napi_synchronize(&cq->napi);
                mlx4_en_deactivate_rx_ring(priv, priv->rx_ring[i]);
                mlx4_en_deactivate_cq(priv, cq);
@@ -2506,9 +2469,6 @@ static const struct net_device_ops mlx4_netdev_ops = {
        .ndo_setup_tc           = mlx4_en_setup_tc,
 #ifdef CONFIG_RFS_ACCEL
        .ndo_rx_flow_steer      = mlx4_en_filter_rfs,
-#endif
-#ifdef CONFIG_NET_RX_BUSY_POLL
-       .ndo_busy_poll          = mlx4_en_low_latency_recv,
 #endif
        .ndo_get_phys_port_id   = mlx4_en_get_phys_port_id,
 #ifdef CONFIG_MLX4_EN_VXLAN