IB/mlx4: Fix struct mlx4_ib_create_wq alignment
authorGuy Levi <guyle@mellanox.com>
Thu, 17 Aug 2017 12:50:47 +0000 (15:50 +0300)
committerDoug Ledford <dledford@redhat.com>
Thu, 24 Aug 2017 20:27:11 +0000 (16:27 -0400)
The mlx4 ABI defines to have structures with alignment of 64B.

Fixes: 400b1ebcfe31 ("IB/mlx4: Add support for WQ related verbs")
Signed-off-by: Guy Levi <guyle@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/mlx4/qp.c
include/uapi/rdma/mlx4-abi.h

index 0d2923c..c3958fc 100644 (file)
@@ -1046,9 +1046,8 @@ static int create_qp_common(struct mlx4_ib_dev *dev, struct ib_pd *pd,
                }
 
                if (src == MLX4_IB_RWQ_SRC) {
-                       if (ucmd.wq.comp_mask || ucmd.wq.reserved1 ||
-                           ucmd.wq.reserved[0] || ucmd.wq.reserved[1] ||
-                           ucmd.wq.reserved[2]) {
+                       if (ucmd.wq.comp_mask || ucmd.wq.reserved[0] ||
+                           ucmd.wq.reserved[1] || ucmd.wq.reserved[2]) {
                                pr_debug("user command isn't supported\n");
                                err = -EOPNOTSUPP;
                                goto err;
@@ -4146,8 +4145,8 @@ struct ib_wq *mlx4_ib_create_wq(struct ib_pd *pd,
        if (!(udata && pd->uobject))
                return ERR_PTR(-EINVAL);
 
-       required_cmd_sz = offsetof(typeof(ucmd), reserved) +
-                         sizeof(ucmd.reserved);
+       required_cmd_sz = offsetof(typeof(ucmd), comp_mask) +
+                         sizeof(ucmd.comp_mask);
        if (udata->inlen < required_cmd_sz) {
                pr_debug("invalid inlen\n");
                return ERR_PTR(-EINVAL);
index 21cce1a..0e10102 100644 (file)
@@ -121,7 +121,6 @@ struct mlx4_ib_create_wq {
        __u8    log_range_size;
        __u8    reserved[3];
        __u32   comp_mask;
-       __u32   reserved1;
 };
 
 struct mlx4_ib_modify_wq {