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

From: Bernard Metzler
Date: Fri Jul 12 2019 - 07:38:27 EST


-----"Arnd Bergmann" <arnd@xxxxxxxx> wrote: -----

>To: "Bernard Metzler" <bmt@xxxxxxxxxxxxxx>, "Doug Ledford"
><dledford@xxxxxxxxxx>, "Jason Gunthorpe" <jgg@xxxxxxxx>
>From: "Arnd Bergmann" <arnd@xxxxxxxx>
>Date: 07/12/2019 10:53AM
>Cc: "Arnd Bergmann" <arnd@xxxxxxxx>, "Jason Gunthorpe"
><jgg@xxxxxxxxxxxx>, linux-rdma@xxxxxxxxxxxxxxx,
>linux-kernel@xxxxxxxxxxxxxxx
>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 <arnd@xxxxxxxx>
>---
> 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.