Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma
[linux-2.6-block.git] / drivers / net / ethernet / mellanox / mlx4 / qp.c
index b16249577aa281c51c1bb4c9febe2f886c5efd6b..168823dde79f3dd48596bdad5a4ea72a95ed0404 100644 (file)
@@ -422,15 +422,15 @@ int mlx4_update_qp(struct mlx4_dev *dev, u32 qpn,
        u64 qp_mask = 0;
        int err = 0;
 
+       if (!attr || (attr & ~MLX4_UPDATE_QP_SUPPORTED_ATTRS))
+               return -EINVAL;
+
        mailbox = mlx4_alloc_cmd_mailbox(dev);
        if (IS_ERR(mailbox))
                return PTR_ERR(mailbox);
 
        cmd = (struct mlx4_update_qp_context *)mailbox->buf;
 
-       if (!attr || (attr & ~MLX4_UPDATE_QP_SUPPORTED_ATTRS))
-               return -EINVAL;
-
        if (attr & MLX4_UPDATE_QP_SMAC) {
                pri_addr_path_mask |= 1ULL << MLX4_UPD_QP_PATH_MASK_MAC_INDEX;
                cmd->qp_context.pri_path.grh_mylmc = params->smac_index;