Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Mon, 14 Apr 2008 09:30:23 +0000 (02:30 -0700)]
Conflicts:

drivers/net/ehea/ehea_main.c
drivers/net/wireless/iwlwifi/Kconfig
drivers/net/wireless/rt2x00/rt61pci.c
net/ipv4/inet_timewait_sock.c
net/ipv6/raw.c
net/mac80211/ieee80211_sta.c

40 files changed:
1  2 
drivers/net/ehea/ehea.h
drivers/net/ehea/ehea_main.c
drivers/net/forcedeth.c
drivers/net/smc91x.c
drivers/net/wireless/ipw2200.c
drivers/net/wireless/libertas/assoc.c
drivers/net/wireless/rt2x00/rt61pci.c
drivers/ssb/driver_mipscore.c
drivers/ssb/driver_pcicore.c
drivers/ssb/main.c
include/linux/Kbuild
include/linux/ipv6.h
include/net/sctp/command.h
include/net/tcp.h
net/8021q/vlan_dev.c
net/atm/lec.c
net/bridge/br_netfilter.c
net/core/skbuff.c
net/core/sock.c
net/dccp/dccp.h
net/dccp/ipv4.c
net/dccp/output.c
net/dccp/proto.c
net/ipv4/icmp.c
net/ipv4/ip_sockglue.c
net/ipv4/netfilter/ipt_CLUSTERIP.c
net/ipv4/tcp_input.c
net/ipv4/tcp_output.c
net/ipv6/addrconf.c
net/ipv6/anycast.c
net/ipv6/icmp.c
net/sctp/ipv6.c
net/sctp/outqueue.c
net/sctp/protocol.c
net/sctp/sm_make_chunk.c
net/sctp/sm_sideeffect.c
net/sctp/sm_statefuns.c
net/sctp/socket.c
net/wireless/nl80211.c
net/xfrm/xfrm_user.c

Simple merge
@@@ -2839,23 -2857,22 +2858,24 @@@ static void ehea_rereg_mrs(struct work_
                        /* Shutdown all ports */
                        for (i = 0; i < EHEA_MAX_PORTS; i++) {
                                struct ehea_port *port = adapter->port[i];
 +                              struct net_device *dev;
  
 -                              if (port) {
 -                                      struct net_device *dev = port->netdev;
 +                              if (!port)
 +                                      continue;
  
 -                                      if (dev->flags & IFF_UP) {
 -                                              down(&port->port_lock);
 -                                              netif_stop_queue(dev);
 -                                              ehea_flush_sq(port);
 -                                              ret = ehea_stop_qps(dev);
 -                                              if (ret) {
 -                                                      up(&port->port_lock);
 -                                                      goto out;
 -                                              }
 -                                              port_napi_disable(port);
 -                                              up(&port->port_lock);
 +                              dev = port->netdev;
 +
 +                              if (dev->flags & IFF_UP) {
 +                                      mutex_lock(&port->port_lock);
 +                                      netif_stop_queue(dev);
++                                      ehea_flush_sq(port);
 +                                      ret = ehea_stop_qps(dev);
 +                                      if (ret) {
 +                                              mutex_unlock(&port->port_lock);
 +                                              goto out;
                                        }
 +                                      port_napi_disable(port);
 +                                      mutex_unlock(&port->port_lock);
                                }
                        }
  
Simple merge
@@@ -1322,10 -1322,11 +1322,11 @@@ static irqreturn_t smc_interrupt(int ir
        } while (--timeout);
  
        /* restore register states */
 -      SMC_SET_PTR(saved_pointer);
 -      SMC_SET_INT_MASK(mask);
 +      SMC_SET_PTR(lp, saved_pointer);
 +      SMC_SET_INT_MASK(lp, mask);
        spin_unlock(&lp->lock);
  
+ #ifndef CONFIG_NET_POLL_CONTROLLER
        if (timeout == MAX_IRQ_LOOPS)
                PRINTK("%s: spurious interrupt (mask = 0x%02x)\n",
                       dev->name, mask);
Simple merge
Simple merge
@@@ -2377,12 -2398,9 +2377,10 @@@ static int rt61pci_beacon_update(struc
         * We need to append the descriptor in front of the
         * beacon frame.
         */
 -      if (skb_headroom(skb) < TXD_DESC_SIZE) {
 -              if (pskb_expand_head(skb, TXD_DESC_SIZE, 0, GFP_ATOMIC))
 +      if (skb_headroom(skb) < intf->beacon->queue->desc_size) {
 +              if (pskb_expand_head(skb, intf->beacon->queue->desc_size,
-                                    0, GFP_ATOMIC)) {
-                       dev_kfree_skb(skb);
++                                   0, GFP_ATOMIC))
                        return -ENOMEM;
-               }
        }
  
        /*
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/atm/lec.c
Simple merge
@@@ -110,7 -110,8 +110,10 @@@ static inline __be16 pppoe_proto(const 
   * ipt_REJECT needs it.  Future netfilter modules might
   * require us to fill additional fields. */
  static struct net_device __fake_net_device = {
-       .hard_header_len        = ETH_HLEN
+       .hard_header_len        = ETH_HLEN,
++#ifdef CONFIG_NET_NS
+       .nd_net                 = &init_net,
++#endif
  };
  
  static struct rtable __fake_rtable = {
Simple merge
diff --cc net/core/sock.c
Simple merge
diff --cc net/dccp/dccp.h
Simple merge
diff --cc net/dccp/ipv4.c
Simple merge
Simple merge
Simple merge
diff --cc net/ipv4/icmp.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -2529,10 -2457,10 +2530,10 @@@ static int addrconf_ifdown(struct net_d
  
        ASSERT_RTNL();
  
-       if (dev == init_net.loopback_dev && how == 1)
+       if ((dev->flags & IFF_LOOPBACK) && how == 1)
                how = 0;
  
 -      rt6_ifdown(dev);
 +      rt6_ifdown(net, dev);
        neigh_ifdown(&nd_tbl, dev);
  
        idev = __in6_dev_get(dev);
Simple merge
diff --cc net/ipv6/icmp.c
Simple merge
diff --cc net/sctp/ipv6.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge