]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/net/ethernet/jme.c
net: bnx2x: include irq.h for irqreturn_t definitions
[karo-tx-linux.git] / drivers / net / ethernet / jme.c
index f5685c0d057911c6c2f59dd982f21f869d1b978c..b0c6050479eb460ae306cccaa93926f738e64c2e 100644 (file)
@@ -2053,19 +2053,6 @@ jme_map_tx_skb(struct jme_adapter *jme, struct sk_buff *skb, int idx)
 
 }
 
-static int
-jme_expand_header(struct jme_adapter *jme, struct sk_buff *skb)
-{
-       if (unlikely(skb_shinfo(skb)->gso_size &&
-                       skb_header_cloned(skb) &&
-                       pskb_expand_head(skb, 0, 0, GFP_ATOMIC))) {
-               dev_kfree_skb(skb);
-               return -1;
-       }
-
-       return 0;
-}
-
 static int
 jme_tx_tso(struct sk_buff *skb, __le16 *mss, u8 *flags)
 {
@@ -2225,7 +2212,8 @@ jme_start_xmit(struct sk_buff *skb, struct net_device *netdev)
        struct jme_adapter *jme = netdev_priv(netdev);
        int idx;
 
-       if (unlikely(jme_expand_header(jme, skb))) {
+       if (unlikely(skb_is_gso(skb) && skb_cow_head(skb, 0))) {
+               dev_kfree_skb_any(skb);
                ++(NET_STAT(jme).tx_dropped);
                return NETDEV_TX_OK;
        }