netdev: convert bulk of drivers to netdev_tx_t
[deliverable/linux.git] / drivers / net / mlx4 / en_tx.c
index e63132361a9454509a3aec6e1344f54b3daaefa3..d3d6e991065b53f685eb23c8c8c0f79b2da6993e 100644 (file)
@@ -150,7 +150,7 @@ void mlx4_en_destroy_tx_ring(struct mlx4_en_priv *priv,
 
 int mlx4_en_activate_tx_ring(struct mlx4_en_priv *priv,
                             struct mlx4_en_tx_ring *ring,
-                            int cq, int srqn)
+                            int cq)
 {
        struct mlx4_en_dev *mdev = priv->mdev;
        int err;
@@ -168,7 +168,7 @@ int mlx4_en_activate_tx_ring(struct mlx4_en_priv *priv,
        ring->doorbell_qpn = swab32(ring->qp.qpn << 8);
 
        mlx4_en_fill_qp_context(priv, ring->size, ring->stride, 1, 0, ring->qpn,
-                               ring->cqn, srqn, &ring->context);
+                               ring->cqn, &ring->context);
 
        err = mlx4_qp_to_ready(mdev->dev, &ring->wqres.mtt, &ring->context,
                               &ring->qp, &ring->qp_state);
@@ -249,6 +249,7 @@ static u32 mlx4_en_free_tx_desc(struct mlx4_en_priv *priv,
                                pci_unmap_page(mdev->pdev,
                                        (dma_addr_t) be64_to_cpu(data->addr),
                                         frag->size, PCI_DMA_TODEVICE);
+                               ++data;
                        }
                }
                /* Stamp the freed descriptor */
@@ -518,11 +519,6 @@ static int get_real_size(struct sk_buff *skb, struct net_device *dev,
                                return 0;
                        }
                }
-               if (unlikely(*lso_header_size > MAX_LSO_HDR_SIZE)) {
-                       if (netif_msg_tx_err(priv))
-                               en_warn(priv, "LSO header size too big\n");
-                       return 0;
-               }
        } else {
                *lso_header_size = 0;
                if (!is_inline(skb, NULL))
@@ -592,7 +588,7 @@ u16 mlx4_en_select_queue(struct net_device *dev, struct sk_buff *skb)
        return skb_tx_hash(dev, skb);
 }
 
-int mlx4_en_xmit(struct sk_buff *skb, struct net_device *dev)
+netdev_tx_t mlx4_en_xmit(struct sk_buff *skb, struct net_device *dev)
 {
        struct mlx4_en_priv *priv = netdev_priv(dev);
        struct mlx4_en_dev *mdev = priv->mdev;
@@ -646,13 +642,6 @@ int mlx4_en_xmit(struct sk_buff *skb, struct net_device *dev)
                return NETDEV_TX_BUSY;
        }
 
-       /* Now that we know what Tx ring to use */
-       if (unlikely(!priv->port_up)) {
-               if (netif_msg_tx_err(priv))
-                       en_warn(priv, "xmit: port down!\n");
-               goto tx_drop;
-       }
-
        /* Track current inflight packets for performance analysis */
        AVG_PERF_COUNTER(priv->pstats.inflight_avg,
                         (u32) (ring->prod - ring->cons - 1));
@@ -776,7 +765,7 @@ int mlx4_en_xmit(struct sk_buff *skb, struct net_device *dev)
        /* Poll CQ here */
        mlx4_en_xmit_poll(priv, tx_ind);
 
-       return 0;
+       return NETDEV_TX_OK;
 
 tx_drop:
        dev_kfree_skb_any(skb);
This page took 0.026312 seconds and 5 git commands to generate.