From: Guy Levi <guyle@mellanox.com>
Date: Thu, 17 Aug 2017 15:50:47 +0300
Subject: IB/mlx4: Fix struct mlx4_ib_create_wq alignment
Patch-mainline: v4.14-rc1
Git-commit: 078b3573030346df0cdc46d798c0f434dc53c2cc
References: bsc#1046302 FATE#322945
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>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
drivers/infiniband/hw/mlx4/qp.c | 9 ++++-----
include/uapi/rdma/mlx4-abi.h | 1 -
2 files changed, 4 insertions(+), 6 deletions(-)
--- a/drivers/infiniband/hw/mlx4/qp.c
+++ b/drivers/infiniband/hw/mlx4/qp.c
@@ -1046,9 +1046,8 @@ static int create_qp_common(struct mlx4_
}
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 i
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);
--- a/include/uapi/rdma/mlx4-abi.h
+++ b/include/uapi/rdma/mlx4-abi.h
@@ -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 {