OSDN Git Service

atl1: remove open-coded skb_cow_head.
authorfrançois romieu <romieu@fr.zoreil.com>
Sat, 29 Mar 2014 11:26:14 +0000 (12:26 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 29 Mar 2014 21:49:47 +0000 (17:49 -0400)
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Chris Snook <chris.snook@gmail.com>
Cc: Jay Cliburn <jcliburn@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/atheros/atlx/atl1.c

index 287272d..dfd0e91 100644 (file)
@@ -2118,18 +2118,17 @@ static u16 atl1_tpd_avail(struct atl1_tpd_ring *tpd_ring)
 }
 
 static int atl1_tso(struct atl1_adapter *adapter, struct sk_buff *skb,
-       struct tx_packet_desc *ptpd)
+                   struct tx_packet_desc *ptpd)
 {
        u8 hdr_len, ip_off;
        u32 real_len;
-       int err;
 
        if (skb_shinfo(skb)->gso_size) {
-               if (skb_header_cloned(skb)) {
-                       err = pskb_expand_head(skb, 0, 0, GFP_ATOMIC);
-                       if (unlikely(err))
-                               return -1;
-               }
+               int err;
+
+               err = skb_cow_head(skb, 0);
+               if (err < 0)
+                       return err;
 
                if (skb->protocol == htons(ETH_P_IP)) {
                        struct iphdr *iph = ip_hdr(skb);
@@ -2175,7 +2174,7 @@ static int atl1_tso(struct atl1_adapter *adapter, struct sk_buff *skb,
                        return 3;
                }
        }
-       return false;
+       return 0;
 }
 
 static int atl1_tx_csum(struct atl1_adapter *adapter, struct sk_buff *skb,