From e8cb7eb473ac47703282db6f90b4926f31cdf376 Mon Sep 17 00:00:00 2001 From: Santiago Leon Date: Fri, 3 Sep 2010 18:28:15 +0000 Subject: [PATCH] ibmveth: Remove LLTX The ibmveth adapter needs locking in the transmit routine to protect the bounce_buffer but it sets LLTX and forgets to add any of its own locking. Just remove the deprecated LLTX option. Remove the stats lock in the process. Signed-off-by: Anton Blanchard Signed-off-by: Santiago Leon Signed-off-by: David S. Miller --- drivers/net/ibmveth.c | 7 +------ drivers/net/ibmveth.h | 1 - 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/net/ibmveth.c b/drivers/net/ibmveth.c index 3515ef318eb0..9d662dec21b0 100644 --- a/drivers/net/ibmveth.c +++ b/drivers/net/ibmveth.c @@ -903,7 +903,6 @@ static netdev_tx_t ibmveth_start_xmit(struct sk_buff *skb, union ibmveth_buf_desc desc; unsigned long lpar_rc; unsigned long correlator; - unsigned long flags; unsigned int retry_count; unsigned int tx_dropped = 0; unsigned int tx_bytes = 0; @@ -965,20 +964,18 @@ static netdev_tx_t ibmveth_start_xmit(struct sk_buff *skb, } else { tx_packets++; tx_bytes += skb->len; - netdev->trans_start = jiffies; /* NETIF_F_LLTX driver :( */ } if (!used_bounce) dma_unmap_single(&adapter->vdev->dev, data_dma_addr, skb->len, DMA_TO_DEVICE); -out: spin_lock_irqsave(&adapter->stats_lock, flags); +out: netdev->stats.tx_dropped += tx_dropped; netdev->stats.tx_bytes += tx_bytes; netdev->stats.tx_packets += tx_packets; adapter->tx_send_failed += tx_send_failed; adapter->tx_map_failed += tx_map_failed; - spin_unlock_irqrestore(&adapter->stats_lock, flags); dev_kfree_skb(skb); return NETDEV_TX_OK; @@ -1290,8 +1287,6 @@ static int __devinit ibmveth_probe(struct vio_dev *dev, const struct vio_device_ netdev->netdev_ops = &ibmveth_netdev_ops; netdev->ethtool_ops = &netdev_ethtool_ops; SET_NETDEV_DEV(netdev, &dev->dev); - netdev->features |= NETIF_F_LLTX; - spin_lock_init(&adapter->stats_lock); memcpy(netdev->dev_addr, &adapter->mac_addr, netdev->addr_len); diff --git a/drivers/net/ibmveth.h b/drivers/net/ibmveth.h index f3ede8184b6d..d5651c79e199 100644 --- a/drivers/net/ibmveth.h +++ b/drivers/net/ibmveth.h @@ -158,7 +158,6 @@ struct ibmveth_adapter { u64 rx_no_buffer; u64 tx_map_failed; u64 tx_send_failed; - spinlock_t stats_lock; }; struct ibmveth_buf_desc_fields { -- 2.20.1