aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJeff Kirsher <jeffrey.t.kirsher@intel.com>2006-01-12 19:51:07 -0500
committerJeff Garzik <jgarzik@pobox.com>2006-01-17 07:48:02 -0500
commitd74bbd3bbfd70470446e0d8153f91967d53c0798 (patch)
treed09f79b0d7d4c3e63f9dbe038a5f3bdd9a091d84 /drivers
parent0fadb0597d240d4ed279042cab632d567510a1a3 (diff)
[PATCH] e1000: Fix __pskb_pull_tail
Fixed by moving code to correct location (for 82572 and 82571 controllers). Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/e1000/e1000_main.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 36b04d42252f..dd3d3232c94e 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -2834,6 +2834,13 @@ e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
2834 if (skb->data_len && (hdr_len == (skb->len - skb->data_len)) && 2834 if (skb->data_len && (hdr_len == (skb->len - skb->data_len)) &&
2835 (adapter->hw.mac_type == e1000_82571 || 2835 (adapter->hw.mac_type == e1000_82571 ||
2836 adapter->hw.mac_type == e1000_82572)) { 2836 adapter->hw.mac_type == e1000_82572)) {
2837 unsigned int pull_size;
2838 pull_size = min((unsigned int)4, skb->data_len);
2839 if (!__pskb_pull_tail(skb, pull_size)) {
2840 printk(KERN_ERR "__pskb_pull_tail failed.\n");
2841 dev_kfree_skb_any(skb);
2842 return -EFAULT;
2843 }
2837 len = skb->len - skb->data_len; 2844 len = skb->len - skb->data_len;
2838 } 2845 }
2839 } 2846 }
@@ -2873,14 +2880,6 @@ e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
2873 if(adapter->pcix_82544) 2880 if(adapter->pcix_82544)
2874 count += nr_frags; 2881 count += nr_frags;
2875 2882
2876 unsigned int pull_size;
2877 pull_size = min((unsigned int)4, skb->data_len);
2878 if (!__pskb_pull_tail(skb, pull_size)) {
2879 printk(KERN_ERR "__pskb_pull_tail failed.\n");
2880 dev_kfree_skb_any(skb);
2881 return -EFAULT;
2882 }
2883
2884 if(adapter->hw.tx_pkt_filtering && (adapter->hw.mac_type == e1000_82573) ) 2883 if(adapter->hw.tx_pkt_filtering && (adapter->hw.mac_type == e1000_82573) )
2885 e1000_transfer_dhcp_info(adapter, skb); 2884 e1000_transfer_dhcp_info(adapter, skb);
2886 2885