net/mlx4_core: Fix checking order in MR table init
[cascardo/linux.git] / drivers / net / ethernet / mellanox / mlx4 / mr.c
index f91719a..63391a1 100644 (file)
@@ -755,14 +755,14 @@ int mlx4_init_mr_table(struct mlx4_dev *dev)
        struct mlx4_mr_table *mr_table = &priv->mr_table;
        int err;
 
-       if (!is_power_of_2(dev->caps.num_mpts))
-               return -EINVAL;
-
        /* Nothing to do for slaves - all MR handling is forwarded
        * to the master */
        if (mlx4_is_slave(dev))
                return 0;
 
+       if (!is_power_of_2(dev->caps.num_mpts))
+               return -EINVAL;
+
        err = mlx4_bitmap_init(&mr_table->mpt_bitmap, dev->caps.num_mpts,
                               ~0, dev->caps.reserved_mrws, 0);
        if (err)