diff options
Diffstat (limited to 'drivers/net/ethernet/freescale/gianfar.c')
| -rw-r--r-- | drivers/net/ethernet/freescale/gianfar.c | 7 | 
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c index f2db8fca46a..ab1d80ff079 100644 --- a/drivers/net/ethernet/freescale/gianfar.c +++ b/drivers/net/ethernet/freescale/gianfar.c @@ -2063,10 +2063,9 @@ static int gfar_start_xmit(struct sk_buff *skb, struct net_device *dev)  			return NETDEV_TX_OK;  		} -		/* Steal sock reference for processing TX time stamps */ -		swap(skb_new->sk, skb->sk); -		swap(skb_new->destructor, skb->destructor); -		kfree_skb(skb); +		if (skb->sk) +			skb_set_owner_w(skb_new, skb->sk); +		consume_skb(skb);  		skb = skb_new;  	}  |