summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/via
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2014-03-16 05:25:05 +0400
committerEric W. Biederman <ebiederm@xmission.com>2014-03-25 08:19:22 +0400
commit001eadf6ec9764786f1719b4f4375108db3811dd (patch)
tree13be97cb52a5c2642a13a6c19797160fda6d9328 /drivers/net/ethernet/via
parent4b3afc6e386bdacbce8326afcf8040a632050d3a (diff)
downloadlinux-001eadf6ec9764786f1719b4f4375108db3811dd.tar.xz
via-velocity: Call dev_kfree_skb_any instead of kfree_skb.
Replace dev_kfree_skb with dev_kfree_skb_any in velocity_xmit that can be called in hard irq and other contexts. Packets are freed and dropped in velocity_xmit when they are too fragmented and can not be linearized. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Diffstat (limited to 'drivers/net/ethernet/via')
-rw-r--r--drivers/net/ethernet/via/via-velocity.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/via/via-velocity.c b/drivers/net/ethernet/via/via-velocity.c
index ad61d26a44f3..de08e86db209 100644
--- a/drivers/net/ethernet/via/via-velocity.c
+++ b/drivers/net/ethernet/via/via-velocity.c
@@ -2565,7 +2565,7 @@ static netdev_tx_t velocity_xmit(struct sk_buff *skb,
/* The hardware can handle at most 7 memory segments, so merge
* the skb if there are more */
if (skb_shinfo(skb)->nr_frags > 6 && __skb_linearize(skb)) {
- kfree_skb(skb);
+ dev_kfree_skb_any(skb);
return NETDEV_TX_OK;
}