Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Mon, 23 May 2011 15:39:24 +0000 (08:39 -0700)]
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits)
  bnx2x: allow device properly initialize after hotplug
  bnx2x: fix DMAE timeout according to hw specifications
  bnx2x: properly handle CFC DEL in cnic flow
  bnx2x: call dev_kfree_skb_any instead of dev_kfree_skb
  net: filter: move forward declarations to avoid compile warnings
  pktgen: refactor pg_init() code
  pktgen: use vzalloc_node() instead of vmalloc_node() + memset()
  net: skb_trim explicitely check the linearity instead of data_len
  ipv4: Give backtrace in ip_rt_bug().
  net: avoid synchronize_rcu() in dev_deactivate_many
  net: remove synchronize_net() from netdev_set_master()
  rtnetlink: ignore NETDEV_RELEASE and NETDEV_JOIN event
  net: rename NETDEV_BONDING_DESLAVE to NETDEV_RELEASE
  bridge: call NETDEV_JOIN notifiers when add a slave
  netpoll: disable netpoll when enslave a device
  macvlan: Forward unicast frames in bridge mode to lowerdev
  net: Remove linux/prefetch.h include from linux/skbuff.h
  ipv4: Include linux/prefetch.h in fib_trie.c
  netlabel: Remove prefetches from list handlers.
  drivers/net: add prefetch header for prefetch users
  ...

Fixed up prefetch parts: removed a few duplicate prefetch.h includes,
fixed the location of the igb prefetch.h, took my version of the
skbuff.h code without the extra parentheses etc.

1  2 
include/linux/skbuff.h

diff --combined include/linux/skbuff.h
@@@ -1442,7 -1442,7 +1442,7 @@@ extern int ___pskb_trim(struct sk_buff 
  
  static inline void __skb_trim(struct sk_buff *skb, unsigned int len)
  {
-       if (unlikely(skb->data_len)) {
+       if (unlikely(skb_is_nonlinear(skb))) {
                WARN_ON(1);
                return;
        }
@@@ -1782,7 -1782,7 +1782,7 @@@ static inline int pskb_trim_rcsum(struc
  
  #define skb_queue_walk(queue, skb) \
                for (skb = (queue)->next;                                       \
 -                   (skb != (struct sk_buff *)(queue));                        \
 +                   skb != (struct sk_buff *)(queue);                          \
                     skb = skb->next)
  
  #define skb_queue_walk_safe(queue, skb, tmp)                                  \
                     skb = tmp, tmp = skb->next)
  
  #define skb_queue_walk_from(queue, skb)                                               \
 -              for (; (skb != (struct sk_buff *)(queue));                      \
 +              for (; skb != (struct sk_buff *)(queue);                        \
                     skb = skb->next)
  
  #define skb_queue_walk_from_safe(queue, skb, tmp)                             \
  
  #define skb_queue_reverse_walk(queue, skb) \
                for (skb = (queue)->prev;                                       \
 -                   (skb != (struct sk_buff *)(queue));                        \
 +                   skb != (struct sk_buff *)(queue);                          \
                     skb = skb->prev)
  
  #define skb_queue_reverse_walk_safe(queue, skb, tmp)                          \