Commit 6956d73a authored by Eric W. Biederman's avatar Eric W. Biederman

vxge: Call dev_kfree_skb_any instead of dev_kfree_skb.

Replace dev_kfree_skb with dev_kfree_skb_any in vxge_xmit that can
be called in hard irq and other contexts.

vxge_xmit only calls dev_kfree_skb_any when errors result in dropping
skbs.
Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
parent e6d26bd0
...@@ -824,7 +824,7 @@ vxge_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -824,7 +824,7 @@ vxge_xmit(struct sk_buff *skb, struct net_device *dev)
if (unlikely(skb->len <= 0)) { if (unlikely(skb->len <= 0)) {
vxge_debug_tx(VXGE_ERR, vxge_debug_tx(VXGE_ERR,
"%s: Buffer has no data..", dev->name); "%s: Buffer has no data..", dev->name);
dev_kfree_skb(skb); dev_kfree_skb_any(skb);
return NETDEV_TX_OK; return NETDEV_TX_OK;
} }
...@@ -833,7 +833,7 @@ vxge_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -833,7 +833,7 @@ vxge_xmit(struct sk_buff *skb, struct net_device *dev)
if (unlikely(!is_vxge_card_up(vdev))) { if (unlikely(!is_vxge_card_up(vdev))) {
vxge_debug_tx(VXGE_ERR, vxge_debug_tx(VXGE_ERR,
"%s: vdev not initialized", dev->name); "%s: vdev not initialized", dev->name);
dev_kfree_skb(skb); dev_kfree_skb_any(skb);
return NETDEV_TX_OK; return NETDEV_TX_OK;
} }
...@@ -843,7 +843,7 @@ vxge_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -843,7 +843,7 @@ vxge_xmit(struct sk_buff *skb, struct net_device *dev)
vxge_debug_tx(VXGE_ERR, vxge_debug_tx(VXGE_ERR,
"%s: Failed to store the mac address", "%s: Failed to store the mac address",
dev->name); dev->name);
dev_kfree_skb(skb); dev_kfree_skb_any(skb);
return NETDEV_TX_OK; return NETDEV_TX_OK;
} }
} }
...@@ -990,7 +990,7 @@ vxge_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -990,7 +990,7 @@ vxge_xmit(struct sk_buff *skb, struct net_device *dev)
vxge_hw_fifo_txdl_free(fifo_hw, dtr); vxge_hw_fifo_txdl_free(fifo_hw, dtr);
_exit0: _exit0:
netif_tx_stop_queue(fifo->txq); netif_tx_stop_queue(fifo->txq);
dev_kfree_skb(skb); dev_kfree_skb_any(skb);
return NETDEV_TX_OK; return NETDEV_TX_OK;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment