Browse Source

smsc911x: Call dev_consume_skb_any instead of dev_kfree_skb.

Replace dev_kfree_skb with dev_consume_skb_any in smsc911x_hard_xmit
which can be called in hard irq and other contexts. smsc911x_hard_xmit
always transmits and consumes the specified skb.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Eric W. Biederman 11 years ago
parent
commit
89a9eb6318
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/net/ethernet/smsc/smsc911x.c

+ 1 - 1
drivers/net/ethernet/smsc/smsc911x.c

@@ -1672,7 +1672,7 @@ static int smsc911x_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
 	pdata->ops->tx_writefifo(pdata, (unsigned int *)bufp, wrsz);
 	pdata->ops->tx_writefifo(pdata, (unsigned int *)bufp, wrsz);
 	freespace -= (skb->len + 32);
 	freespace -= (skb->len + 32);
 	skb_tx_timestamp(skb);
 	skb_tx_timestamp(skb);
-	dev_kfree_skb(skb);
+	dev_consume_skb_any(skb);
 
 
 	if (unlikely(smsc911x_tx_get_txstatcount(pdata) >= 30))
 	if (unlikely(smsc911x_tx_get_txstatcount(pdata) >= 30))
 		smsc911x_tx_update_txcounters(dev);
 		smsc911x_tx_update_txcounters(dev);