* 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
 
  
        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);
  
 
        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);