|
@@ -30,7 +30,7 @@ static struct sk_buff *edsa_xmit(struct sk_buff *skb, struct net_device *dev)
|
|
|
*/
|
|
|
if (skb->protocol == htons(ETH_P_8021Q)) {
|
|
|
if (skb_cow_head(skb, DSA_HLEN) < 0)
|
|
|
- goto out_free;
|
|
|
+ return NULL;
|
|
|
skb_push(skb, DSA_HLEN);
|
|
|
|
|
|
memmove(skb->data, skb->data + DSA_HLEN, 2 * ETH_ALEN);
|
|
@@ -55,7 +55,7 @@ static struct sk_buff *edsa_xmit(struct sk_buff *skb, struct net_device *dev)
|
|
|
}
|
|
|
} else {
|
|
|
if (skb_cow_head(skb, EDSA_HLEN) < 0)
|
|
|
- goto out_free;
|
|
|
+ return NULL;
|
|
|
skb_push(skb, EDSA_HLEN);
|
|
|
|
|
|
memmove(skb->data, skb->data + EDSA_HLEN, 2 * ETH_ALEN);
|
|
@@ -75,10 +75,6 @@ static struct sk_buff *edsa_xmit(struct sk_buff *skb, struct net_device *dev)
|
|
|
}
|
|
|
|
|
|
return skb;
|
|
|
-
|
|
|
-out_free:
|
|
|
- kfree_skb(skb);
|
|
|
- return NULL;
|
|
|
}
|
|
|
|
|
|
static struct sk_buff *edsa_rcv(struct sk_buff *skb, struct net_device *dev,
|