]> err.no Git - linux-2.6/blobdiff - include/linux/netdevice.h
Merge branch 'upstream-jeff' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu...
[linux-2.6] / include / linux / netdevice.h
index 993758f924be15b51a73b6bc76bdbd6f8ea5e1a7..7c1d4466583b74e05ea09a16f86ea96a98651e8f 100644 (file)
@@ -741,7 +741,6 @@ struct net_device
 #define        NETDEV_ALIGN            32
 #define        NETDEV_ALIGN_CONST      (NETDEV_ALIGN - 1)
 
-#ifdef CONFIG_NET
 /*
  * Net namespace inlines
  */
@@ -759,10 +758,10 @@ static inline
 void dev_net_set(struct net_device *dev, struct net *net)
 {
 #ifdef CONFIG_NET_NS
-       dev->nd_net = net;
+       release_net(dev->nd_net);
+       dev->nd_net = hold_net(net);
 #endif
 }
-#endif
 
 /**
  *     netdev_priv - access network device private data
@@ -827,7 +826,6 @@ struct packet_type {
 extern rwlock_t                                dev_base_lock;          /* Device list lock */
 
 
-#ifdef CONFIG_NET
 #define for_each_netdev(net, d)                \
                list_for_each_entry(d, &(net)->dev_base_head, dev_list)
 #define for_each_netdev_safe(net, d, n)        \
@@ -851,7 +849,6 @@ static inline struct net_device *first_net_device(struct net *net)
        return list_empty(&net->dev_base_head) ? NULL :
                net_device_entry(net->dev_base_head.next);
 }
-#endif
 
 extern int                     netdev_boot_setup_check(struct net_device *dev);
 extern unsigned long           netdev_boot_base(const char *prefix, int unit);
@@ -1105,12 +1102,14 @@ static inline int netif_is_multiqueue(const struct net_device *dev)
 }
 
 /* Use this variant when it is known for sure that it
- * is executing from interrupt context.
+ * is executing from hardware interrupt context or with hardware interrupts
+ * disabled.
  */
 extern void dev_kfree_skb_irq(struct sk_buff *skb);
 
 /* Use this variant in places where it could be invoked
- * either from interrupt or non-interrupt context.
+ * from either hardware interrupt or other context, with hardware interrupts
+ * either disabled or enabled.
  */
 extern void dev_kfree_skb_any(struct sk_buff *skb);