2019-07-12 08:55:19

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] rdma/siw: fix enum type mismatch warnings

The values in map_cqe_status[] don't match the type:

drivers/infiniband/sw/siw/siw_cq.c:31:4: error: implicit conversion from enumeration type 'enum siw_wc_status' to different enumeration type 'enum siw_opcode' [-Werror,-Wenum-conversion]
{ SIW_WC_SUCCESS, IB_WC_SUCCESS },
~ ^~~~~~~~~~~~~~
drivers/infiniband/sw/siw/siw_cq.c:32:4: error: implicit conversion from enumeration type 'enum siw_wc_status' to different enumeration type 'enum siw_opcode' [-Werror,-Wenum-conversion]
{ SIW_WC_LOC_LEN_ERR, IB_WC_LOC_LEN_ERR },
~ ^~~~~~~~~~~~~~~~~~

Change the struct definition to make them match and stop the
warning.

Fixes: b0fff7317bb4 ("rdma/siw: completion queue methods")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/infiniband/sw/siw/siw_cq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/infiniband/sw/siw/siw_cq.c b/drivers/infiniband/sw/siw/siw_cq.c
index e2a0ee40d5b5..e381ae9b7d62 100644
--- a/drivers/infiniband/sw/siw/siw_cq.c
+++ b/drivers/infiniband/sw/siw/siw_cq.c
@@ -25,7 +25,7 @@ static int map_wc_opcode[SIW_NUM_OPCODES] = {
};

static struct {
- enum siw_opcode siw;
+ enum siw_wc_status siw;
enum ib_wc_status ib;
} map_cqe_status[SIW_NUM_WC_STATUS] = {
{ SIW_WC_SUCCESS, IB_WC_SUCCESS },
--
2.20.0


2019-07-12 11:39:23

by Bernard Metzler

[permalink] [raw]
Subject: Re: [PATCH] rdma/siw: fix enum type mismatch warnings

-----"Arnd Bergmann" <[email protected]> wrote: -----

>To: "Bernard Metzler" <[email protected]>, "Doug Ledford"
><[email protected]>, "Jason Gunthorpe" <[email protected]>
>From: "Arnd Bergmann" <[email protected]>
>Date: 07/12/2019 10:53AM
>Cc: "Arnd Bergmann" <[email protected]>, "Jason Gunthorpe"
><[email protected]>, [email protected],
>[email protected]
>Subject: [EXTERNAL] [PATCH] rdma/siw: fix enum type mismatch warnings
>
>The values in map_cqe_status[] don't match the type:
>
>drivers/infiniband/sw/siw/siw_cq.c:31:4: error: implicit conversion
>from enumeration type 'enum siw_wc_status' to different enumeration
>type 'enum siw_opcode' [-Werror,-Wenum-conversion]
> { SIW_WC_SUCCESS, IB_WC_SUCCESS },
> ~ ^~~~~~~~~~~~~~
>drivers/infiniband/sw/siw/siw_cq.c:32:4: error: implicit conversion
>from enumeration type 'enum siw_wc_status' to different enumeration
>type 'enum siw_opcode' [-Werror,-Wenum-conversion]
> { SIW_WC_LOC_LEN_ERR, IB_WC_LOC_LEN_ERR },
> ~ ^~~~~~~~~~~~~~~~~~
>
>Change the struct definition to make them match and stop the
>warning.
>
>Fixes: b0fff7317bb4 ("rdma/siw: completion queue methods")
>Signed-off-by: Arnd Bergmann <[email protected]>
>---
> drivers/infiniband/sw/siw/siw_cq.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/drivers/infiniband/sw/siw/siw_cq.c
>b/drivers/infiniband/sw/siw/siw_cq.c
>index e2a0ee40d5b5..e381ae9b7d62 100644
>--- a/drivers/infiniband/sw/siw/siw_cq.c
>+++ b/drivers/infiniband/sw/siw/siw_cq.c
>@@ -25,7 +25,7 @@ static int map_wc_opcode[SIW_NUM_OPCODES] = {
> };
>
> static struct {
>- enum siw_opcode siw;
>+ enum siw_wc_status siw;
> enum ib_wc_status ib;
> } map_cqe_status[SIW_NUM_WC_STATUS] = {
> { SIW_WC_SUCCESS, IB_WC_SUCCESS },
>--
>2.20.0
>
>

Hi Arnd, this got already fixed.

Many thanks!
Bernard.