From 086dfb7fadde4400f1473e7e818abf833f0e06c4 Mon Sep 17 00:00:00 2001 From: "Eric W. Biederman" Date: Sat, 15 Mar 2014 16:59:27 -0700 Subject: [PATCH] dmfe: Call dev_kfree/consume_skb_any instead of dev_kfree_skb. Replace dev_kfree_skb with dev_kfree_skb_any in dmfe_start_xmit that can be called in hard irq and other contexts, when the packet is dropped. Replace dev_kfree_skb with dev_consume_skb_any in dmfe_start_xmit that can be called in hard irq and other contexts, when the packet is transmitted. Signed-off-by: "Eric W. Biederman" --- drivers/net/ethernet/dec/tulip/dmfe.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/dec/tulip/dmfe.c b/drivers/net/ethernet/dec/tulip/dmfe.c index 5ad9e3e..53f0c61 100644 --- a/drivers/net/ethernet/dec/tulip/dmfe.c +++ b/drivers/net/ethernet/dec/tulip/dmfe.c @@ -696,7 +696,7 @@ static netdev_tx_t dmfe_start_xmit(struct sk_buff *skb, /* Too large packet check */ if (skb->len > MAX_PACKET_SIZE) { pr_err("big packet = %d\n", (u16)skb->len); - dev_kfree_skb(skb); + dev_kfree_skb_any(skb); return NETDEV_TX_OK; } @@ -743,7 +743,7 @@ static netdev_tx_t dmfe_start_xmit(struct sk_buff *skb, dw32(DCR7, db->cr7_data); /* free this SKB */ - dev_kfree_skb(skb); + dev_consume_skb_any(skb); return NETDEV_TX_OK; } -- 2.7.4