Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
authorDavid S. Miller <davem@davemloft.net>
Tue, 7 Apr 2015 01:52:19 +0000 (21:52 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 7 Apr 2015 02:34:15 +0000 (22:34 -0400)
Conflicts:
drivers/net/ethernet/mellanox/mlx4/cmd.c
net/core/fib_rules.c
net/ipv4/fib_frontend.c

The fib_rules.c and fib_frontend.c conflicts were locking adjustments
in 'net' overlapping addition and removal of code in 'net-next'.

The mlx4 conflict was a bug fix in 'net' happening in the same
place a constant was being replaced with a more suitable macro.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 files changed:
1  2 
MAINTAINERS
drivers/net/ethernet/marvell/mvneta.c
drivers/net/ethernet/mellanox/mlx4/cmd.c
include/linux/netdevice.h
include/net/ip.h
include/net/sock.h
net/core/dev.c
net/core/fib_rules.c
net/core/net_namespace.c
net/core/sock.c
net/dsa/dsa.c
net/ipv4/fib_frontend.c
net/ipv4/ipmr.c
net/ipv4/tcp_input.c
net/ipv6/fib6_rules.c
net/ipv6/ip6_output.c
net/ipv6/ip6mr.c

diff --cc MAINTAINERS
Simple merge
Simple merge
index 06993ea9e6ba57a8f71af3d5470186129edb91bc,546ca4226916dbf2261525c12dc087ba35c7f4d7..f0fbb4ade85db9b3db5ce049eff76cd978d08353
@@@ -725,9 -724,9 +725,10 @@@ static int mlx4_cmd_wait(struct mlx4_de
                 * on the host, we deprecate the error message for this
                 * specific command/input_mod/opcode_mod/fw-status to be debug.
                 */
-               if (op == MLX4_CMD_SET_PORT && in_modifier == 1 &&
+               if (op == MLX4_CMD_SET_PORT &&
+                   (in_modifier == 1 || in_modifier == 2) &&
 -                  op_modifier == 0 && context->fw_status == CMD_STAT_BAD_SIZE)
 +                  op_modifier == MLX4_SET_PORT_IB_OPCODE &&
 +                  context->fw_status == CMD_STAT_BAD_SIZE)
                        mlx4_dbg(dev, "command 0x%x failed: fw status = 0x%x\n",
                                 op, context->fw_status);
                else
Simple merge
Simple merge
Simple merge
diff --cc net/core/dev.c
Simple merge
index 68ea6950cad1f646906cf45ba78819447a8618eb,e4fdc9dfb2c73fb371280464484ebcae87218be6..9a12668f7d62720c6ca18f09d13c45ea3e2ca2b2
@@@ -165,10 -175,10 +165,10 @@@ void fib_rules_unregister(struct fib_ru
  
        spin_lock(&net->rules_mod_lock);
        list_del_rcu(&ops->list);
-       fib_rules_cleanup_ops(ops);
        spin_unlock(&net->rules_mod_lock);
  
 -      call_rcu(&ops->rcu, fib_rules_put_rcu);
+       fib_rules_cleanup_ops(ops);
 +      kfree_rcu(ops, rcu);
  }
  EXPORT_SYMBOL_GPL(fib_rules_unregister);
  
Simple merge
diff --cc net/core/sock.c
Simple merge
diff --cc net/dsa/dsa.c
Simple merge
index 2166d2bf15624ed4e957b8ae0a9bb08d06d08ddd,23b9b3e86f4cd78987790f3456470318e3b82ece..872494e6e6eb7996185a99a8b05915f861a73ec4
@@@ -1175,18 -1112,15 +1175,16 @@@ static void ip_fib_net_exit(struct net 
        unsigned int i;
  
        rtnl_lock();
  #ifdef CONFIG_IP_MULTIPLE_TABLES
 -      fib4_rules_exit(net);
 +      RCU_INIT_POINTER(net->ipv4.fib_local, NULL);
 +      RCU_INIT_POINTER(net->ipv4.fib_main, NULL);
 +      RCU_INIT_POINTER(net->ipv4.fib_default, NULL);
  #endif
        for (i = 0; i < FIB_TABLE_HASHSZ; i++) {
 -              struct fib_table *tb;
 -              struct hlist_head *head;
 +              struct hlist_head *head = &net->ipv4.fib_table_hash[i];
                struct hlist_node *tmp;
 +              struct fib_table *tb;
  
 -              head = &net->ipv4.fib_table_hash[i];
                hlist_for_each_entry_safe(tb, tmp, head, tb_hlist) {
                        hlist_del(&tb->tb_hlist);
                        fib_table_flush(tb);
diff --cc net/ipv4/ipmr.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge