linux-next: build failure after merge of the net-next tree

Stephen Rothwell
2021-10-28T01:56:22Z

[-- Attachment #1: Type: text/plain, Size: 5206 bytes --]

Hi all,

After merging the net-next tree, today's linux-next build (x86_64
allmodconfig) failed like this:

In file included from drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.h:11,
from drivers/net/ethernet/mellanox/mlx5/core/eswitch.h:48,
from drivers/net/ethernet/mellanox/mlx5/core/main.c:59:
drivers/net/ethernet/mellanox/mlx5/core/en.h:646:24: error: field 'mkey' has incomplete type
646 | struct mlx5_core_mkey mkey;
| ^~~~
In file included from drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.h:11,
from drivers/net/ethernet/mellanox/mlx5/core/eswitch.h:48,
from drivers/net/ethernet/mellanox/mlx5/core/eq.c:18:
drivers/net/ethernet/mellanox/mlx5/core/en.h:646:24: error: field 'mkey' has incomplete type
646 | struct mlx5_core_mkey mkey;
| ^~~~
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c: In function 'mlx5e_build_shampo_hd_umr':
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:547:45: error: request for member 'key' in something not a structure or union
547 | u32 lkey = rq->mdev->mlx5e_res.hw_objs.mkey.key;
| ^

Caused by commits

e5ca8fb08ab2 ("net/mlx5e: Add control path for SHAMPO feature")
64509b052525 ("net/mlx5e: Add data path for SHAMPO feature")

interacting with commit

83fec3f12a59 ("RDMA/mlx5: Replace struct mlx5_core_mkey by u32 key")

from the rmda tree.

I have applied the following merge fix patch.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 28 Oct 2021 12:36:29 +1100
Subject: [PATCH] fixup for "RDMA/mlx5: Replace struct mlx5_core_mkey by u32 key"

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/net/ethernet/mellanox/mlx5/core/en.h | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 11 +++++------
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 2 +-
3 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en.h b/drivers/net/ethernet/mellanox/mlx5/core/en.h
index 5083a8a7eceb..f0ac6b0d9653 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en.h
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en.h
@@ -643,7 +643,7 @@ struct mlx5e_rq_frags_info {
};

struct mlx5e_shampo_hd {
- struct mlx5_core_mkey mkey;
+ u32 mkey;
struct mlx5e_dma_info *info;
struct page *last_page;
u16 hd_per_wq;
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
index 43b7a1e6a482..9febe4a916df 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
@@ -323,8 +323,7 @@ static int mlx5e_create_umr_mtt_mkey(struct mlx5_core_dev *mdev,
}

static int mlx5e_create_umr_klm_mkey(struct mlx5_core_dev *mdev,
- u64 nentries,
- struct mlx5_core_mkey *umr_mkey)
+ u64 nentries, u32 *umr_mkey)
{
int inlen;
void *mkc;
@@ -518,7 +517,7 @@ static int mlx5_rq_shampo_alloc(struct mlx5_core_dev *mdev,
goto err_hw_gro_data;
}
rq->mpwqe.shampo->key =
- cpu_to_be32(rq->mpwqe.shampo->mkey.key);
+ cpu_to_be32(rq->mpwqe.shampo->mkey);
rq->mpwqe.shampo->hd_per_wqe =
mlx5e_shampo_hd_per_wqe(mdev, params, rqp);
wq_size = BIT(MLX5_GET(wq, wqc, log_wq_sz));
@@ -529,7 +528,7 @@ static int mlx5_rq_shampo_alloc(struct mlx5_core_dev *mdev,
err_hw_gro_data:
mlx5e_rq_shampo_hd_info_free(rq);
err_shampo_info:
- mlx5_core_destroy_mkey(mdev, &rq->mpwqe.shampo->mkey);
+ mlx5_core_destroy_mkey(mdev, rq->mpwqe.shampo->mkey);
err_shampo_hd:
mlx5e_rq_shampo_hd_free(rq);
out:
@@ -543,7 +542,7 @@ static void mlx5e_rq_free_shampo(struct mlx5e_rq *rq)

kvfree(rq->hw_gro_data);
mlx5e_rq_shampo_hd_info_free(rq);
- mlx5_core_destroy_mkey(rq->mdev, &rq->mpwqe.shampo->mkey);
+ mlx5_core_destroy_mkey(rq->mdev, rq->mpwqe.shampo->mkey);
mlx5e_rq_shampo_hd_free(rq);
}

@@ -819,7 +818,7 @@ int mlx5e_create_rq(struct mlx5e_rq *rq, struct mlx5e_rq_param *param)
if (test_bit(MLX5E_RQ_STATE_SHAMPO, &rq->state)) {
MLX5_SET(wq, wq, log_headers_buffer_entry_num,
order_base_2(rq->mpwqe.shampo->hd_per_wq));
- MLX5_SET(wq, wq, headers_mkey, rq->mpwqe.shampo->mkey.key);
+ MLX5_SET(wq, wq, headers_mkey, rq->mpwqe.shampo->mkey);
}

mlx5_fill_page_frag_array(&rq->wq_ctrl.buf,
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
index fe979edd96dc..f63c8ff3ef3f 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
@@ -544,7 +544,7 @@ static int mlx5e_build_shampo_hd_umr(struct mlx5e_rq *rq,
{
struct mlx5e_shampo_hd *shampo = rq->mpwqe.shampo;
u16 entries, pi, i, header_offset, err, wqe_bbs, new_entries;
- u32 lkey = rq->mdev->mlx5e_res.hw_objs.mkey.key;
+ u32 lkey = rq->mdev->mlx5e_res.hw_objs.mkey;
struct page *page = shampo->last_page;
u64 addr = shampo->last_addr;
struct mlx5e_dma_info *dma_info;
--
2.33.0

--
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]