Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e1098328 authored by Jay Cliburn's avatar Jay Cliburn Committed by David S. Miller
Browse files

atl1: remove LLTX



NETIF_F_LLTX is deprecated. Remove private TX locking from the driver
and remove the NETIF_F_LLTX feature flag.

Signed-off-by: default avatarJay Cliburn <jacliburn@bellsouth.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b29be6d3
Loading
Loading
Loading
Loading
+1 −17
Original line number Original line Diff line number Diff line
@@ -2109,7 +2109,6 @@ static u16 atl1_tpd_avail(struct atl1_tpd_ring *tpd_ring)
static int atl1_tso(struct atl1_adapter *adapter, struct sk_buff *skb,
static int atl1_tso(struct atl1_adapter *adapter, struct sk_buff *skb,
	struct tx_packet_desc *ptpd)
	struct tx_packet_desc *ptpd)
{
{
	/* spinlock held */
	u8 hdr_len, ip_off;
	u8 hdr_len, ip_off;
	u32 real_len;
	u32 real_len;
	int err;
	int err;
@@ -2196,7 +2195,6 @@ static int atl1_tx_csum(struct atl1_adapter *adapter, struct sk_buff *skb,
static void atl1_tx_map(struct atl1_adapter *adapter, struct sk_buff *skb,
static void atl1_tx_map(struct atl1_adapter *adapter, struct sk_buff *skb,
	struct tx_packet_desc *ptpd)
	struct tx_packet_desc *ptpd)
{
{
	/* spinlock held */
	struct atl1_tpd_ring *tpd_ring = &adapter->tpd_ring;
	struct atl1_tpd_ring *tpd_ring = &adapter->tpd_ring;
	struct atl1_buffer *buffer_info;
	struct atl1_buffer *buffer_info;
	u16 buf_len = skb->len;
	u16 buf_len = skb->len;
@@ -2303,7 +2301,6 @@ static void atl1_tx_map(struct atl1_adapter *adapter, struct sk_buff *skb,
static void atl1_tx_queue(struct atl1_adapter *adapter, u16 count,
static void atl1_tx_queue(struct atl1_adapter *adapter, u16 count,
       struct tx_packet_desc *ptpd)
       struct tx_packet_desc *ptpd)
{
{
	/* spinlock held */
	struct atl1_tpd_ring *tpd_ring = &adapter->tpd_ring;
	struct atl1_tpd_ring *tpd_ring = &adapter->tpd_ring;
	struct atl1_buffer *buffer_info;
	struct atl1_buffer *buffer_info;
	struct tx_packet_desc *tpd;
	struct tx_packet_desc *tpd;
@@ -2361,7 +2358,6 @@ static int atl1_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
	struct tx_packet_desc *ptpd;
	struct tx_packet_desc *ptpd;
	u16 frag_size;
	u16 frag_size;
	u16 vlan_tag;
	u16 vlan_tag;
	unsigned long flags;
	unsigned int nr_frags = 0;
	unsigned int nr_frags = 0;
	unsigned int mss = 0;
	unsigned int mss = 0;
	unsigned int f;
	unsigned int f;
@@ -2399,18 +2395,9 @@ static int atl1_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
		}
		}
	}
	}


	if (!spin_trylock_irqsave(&adapter->lock, flags)) {
		/* Can't get lock - tell upper layer to requeue */
		if (netif_msg_tx_queued(adapter))
			dev_printk(KERN_DEBUG, &adapter->pdev->dev,
				"tx locked\n");
		return NETDEV_TX_LOCKED;
	}

	if (atl1_tpd_avail(&adapter->tpd_ring) < count) {
	if (atl1_tpd_avail(&adapter->tpd_ring) < count) {
		/* not enough descriptors */
		/* not enough descriptors */
		netif_stop_queue(netdev);
		netif_stop_queue(netdev);
		spin_unlock_irqrestore(&adapter->lock, flags);
		if (netif_msg_tx_queued(adapter))
		if (netif_msg_tx_queued(adapter))
			dev_printk(KERN_DEBUG, &adapter->pdev->dev,
			dev_printk(KERN_DEBUG, &adapter->pdev->dev,
				"tx busy\n");
				"tx busy\n");
@@ -2432,7 +2419,6 @@ static int atl1_xmit_frame(struct sk_buff *skb, struct net_device *netdev)


	tso = atl1_tso(adapter, skb, ptpd);
	tso = atl1_tso(adapter, skb, ptpd);
	if (tso < 0) {
	if (tso < 0) {
		spin_unlock_irqrestore(&adapter->lock, flags);
		dev_kfree_skb_any(skb);
		dev_kfree_skb_any(skb);
		return NETDEV_TX_OK;
		return NETDEV_TX_OK;
	}
	}
@@ -2440,7 +2426,6 @@ static int atl1_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
	if (!tso) {
	if (!tso) {
		ret_val = atl1_tx_csum(adapter, skb, ptpd);
		ret_val = atl1_tx_csum(adapter, skb, ptpd);
		if (ret_val < 0) {
		if (ret_val < 0) {
			spin_unlock_irqrestore(&adapter->lock, flags);
			dev_kfree_skb_any(skb);
			dev_kfree_skb_any(skb);
			return NETDEV_TX_OK;
			return NETDEV_TX_OK;
		}
		}
@@ -2449,7 +2434,7 @@ static int atl1_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
	atl1_tx_map(adapter, skb, ptpd);
	atl1_tx_map(adapter, skb, ptpd);
	atl1_tx_queue(adapter, count, ptpd);
	atl1_tx_queue(adapter, count, ptpd);
	atl1_update_mailbox(adapter);
	atl1_update_mailbox(adapter);
	spin_unlock_irqrestore(&adapter->lock, flags);
	mmiowb();
	netdev->trans_start = jiffies;
	netdev->trans_start = jiffies;
	return NETDEV_TX_OK;
	return NETDEV_TX_OK;
}
}
@@ -3024,7 +3009,6 @@ static int __devinit atl1_probe(struct pci_dev *pdev,
	netdev->features = NETIF_F_HW_CSUM;
	netdev->features = NETIF_F_HW_CSUM;
	netdev->features |= NETIF_F_SG;
	netdev->features |= NETIF_F_SG;
	netdev->features |= (NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX);
	netdev->features |= (NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX);
	netdev->features |= NETIF_F_LLTX;


	/*
	/*
	 * patch for some L1 of old version,
	 * patch for some L1 of old version,