aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/netdevice.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index a2f003239c85..ee81906b5164 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -383,9 +383,11 @@ static inline void __napi_complete(struct napi_struct *n)
383 383
384static inline void napi_complete(struct napi_struct *n) 384static inline void napi_complete(struct napi_struct *n)
385{ 385{
386 local_irq_disable(); 386 unsigned long flags;
387
388 local_irq_save(flags);
387 __napi_complete(n); 389 __napi_complete(n);
388 local_irq_enable(); 390 local_irq_restore(flags);
389} 391}
390 392
391/** 393/**
@@ -1072,12 +1074,14 @@ static inline int netif_is_multiqueue(const struct net_device *dev)
1072} 1074}
1073 1075
1074/* Use this variant when it is known for sure that it 1076/* Use this variant when it is known for sure that it
1075 * is executing from interrupt context. 1077 * is executing from hardware interrupt context or with hardware interrupts
1078 * disabled.
1076 */ 1079 */
1077extern void dev_kfree_skb_irq(struct sk_buff *skb); 1080extern void dev_kfree_skb_irq(struct sk_buff *skb);
1078 1081
1079/* Use this variant in places where it could be invoked 1082/* Use this variant in places where it could be invoked
1080 * either from interrupt or non-interrupt context. 1083 * from either hardware interrupt or other context, with hardware interrupts
1084 * either disabled or enabled.
1081 */ 1085 */
1082extern void dev_kfree_skb_any(struct sk_buff *skb); 1086extern void dev_kfree_skb_any(struct sk_buff *skb);
1083 1087