net: ns83820: use dev_kfree_skb_irq instead of kfree_skb
authorWei Yongjun <weiyongjun1@huawei.com>
Sat, 22 Oct 2016 14:34:55 +0000 (14:34 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 26 Oct 2016 21:21:59 +0000 (17:21 -0400)
It is not allowed to call kfree_skb() from hardware interrupt
context or with interrupts being disabled, spin_lock_irqsave()
make sure always in irq disable context. So the kfree_skb()
should be replaced with dev_kfree_skb_irq().

This is detected by Coccinelle semantic patch.

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/natsemi/ns83820.c

index a34631ed741df4a66bd7948199602f068f8d77a4..93c4bdc0cdca5a9ebb61a4a9fb8f945039f7b604 100644 (file)
@@ -919,7 +919,7 @@ netdev_mangle_me_harder_failed:
                                ndev->stats.rx_dropped++;
                        }
                } else {
-                       kfree_skb(skb);
+                       dev_kfree_skb_irq(skb);
                }
 
                nr++;