Fix __pskb_pull_tail

Fixed by moving code to correct location (for 82572 and 82571 controllers).

Signed-off-by: Jeff Kirsher <[EMAIL PROTECTED]>
Signed-off-by: Jesse Brandeburg <[EMAIL PROTECTED]>
Signed-off-by: John Ronciak <[EMAIL PROTECTED]>
---

 drivers/net/e1000/e1000_main.c |   15 +++++++--------
 1 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 36b04d4..dd3d323 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, st
                if (skb->data_len && (hdr_len == (skb->len - skb->data_len)) &&
                        (adapter->hw.mac_type == e1000_82571 ||
                        adapter->hw.mac_type == e1000_82572)) {
+                       unsigned int pull_size;
+                       pull_size = min((unsigned int)4, skb->data_len);
+                       if (!__pskb_pull_tail(skb, pull_size)) {
+                               printk(KERN_ERR "__pskb_pull_tail failed.\n");
+                               dev_kfree_skb_any(skb);
+                               return -EFAULT;
+                       }
                        len = skb->len - skb->data_len;
                }
        }
@@ -2873,14 +2880,6 @@ e1000_xmit_frame(struct sk_buff *skb, st
        if(adapter->pcix_82544)
                count += nr_frags;
 
-               unsigned int pull_size;
-               pull_size = min((unsigned int)4, skb->data_len);
-               if (!__pskb_pull_tail(skb, pull_size)) {
-                       printk(KERN_ERR "__pskb_pull_tail failed.\n");
-                       dev_kfree_skb_any(skb);
-                       return -EFAULT;
-               }
-
        if(adapter->hw.tx_pkt_filtering && (adapter->hw.mac_type == 
e1000_82573) )
                e1000_transfer_dhcp_info(adapter, skb);
 
Fix __pskb_pull_tail

Fixed by moving code to correct location (for 82572 and 82571 controllers).

Signed-off-by: Jeff Kirsher <[EMAIL PROTECTED]>
Signed-off-by: Jesse Brandeburg <[EMAIL PROTECTED]>
Signed-off-by: John Ronciak <[EMAIL PROTECTED]>
---

 drivers/net/e1000/e1000_main.c |   15 +++++++--------
 1 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 36b04d4..dd3d323 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, st
                if (skb->data_len && (hdr_len == (skb->len - skb->data_len)) &&
                        (adapter->hw.mac_type == e1000_82571 ||
                        adapter->hw.mac_type == e1000_82572)) {
+                       unsigned int pull_size;
+                       pull_size = min((unsigned int)4, skb->data_len);
+                       if (!__pskb_pull_tail(skb, pull_size)) {
+                               printk(KERN_ERR "__pskb_pull_tail failed.\n");
+                               dev_kfree_skb_any(skb);
+                               return -EFAULT;
+                       }
                        len = skb->len - skb->data_len;
                }
        }
@@ -2873,14 +2880,6 @@ e1000_xmit_frame(struct sk_buff *skb, st
        if(adapter->pcix_82544)
                count += nr_frags;
 
-               unsigned int pull_size;
-               pull_size = min((unsigned int)4, skb->data_len);
-               if (!__pskb_pull_tail(skb, pull_size)) {
-                       printk(KERN_ERR "__pskb_pull_tail failed.\n");
-                       dev_kfree_skb_any(skb);
-                       return -EFAULT;
-               }
-
        if(adapter->hw.tx_pkt_filtering && (adapter->hw.mac_type == 
e1000_82573) )
                e1000_transfer_dhcp_info(adapter, skb);
 

Reply via email to