qed: Avoid implicit enum conversion in qed_roce_mode_to_flavor
authorNathan Chancellor <natechancellor@gmail.com>
Mon, 24 Sep 2018 21:34:53 +0000 (14:34 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 10 Nov 2018 15:42:43 +0000 (07:42 -0800)
[ Upstream commit d3a315795b4ce8b105a64a90699103121bde04a8 ]

Clang warns when one enumerated type is implicitly converted to another.

drivers/net/ethernet/qlogic/qed/qed_roce.c:153:12: warning: implicit
conversion from enumeration type 'enum roce_mode' to different
enumeration type 'enum roce_flavor' [-Wenum-conversion]
                flavor = ROCE_V2_IPV6;
                       ~ ^~~~~~~~~~~~
drivers/net/ethernet/qlogic/qed/qed_roce.c:156:12: warning: implicit
conversion from enumeration type 'enum roce_mode' to different
enumeration type 'enum roce_flavor' [-Wenum-conversion]
                flavor = MAX_ROCE_MODE;
                       ~ ^~~~~~~~~~~~~
2 warnings generated.

Use the appropriate values from the expected type, roce_flavor:

ROCE_V2_IPV6 = RROCE_IPV6 = 2
MAX_ROCE_MODE = MAX_ROCE_FLAVOR = 3

While we're add it, ditch the local variable flavor, we can just return
the value directly from the switch statement.

Link: https://github.com/ClangBuiltLinux/linux/issues/125
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/qlogic/qed/qed_roce.c

index d9dcb0d..07783d1 100644 (file)
@@ -1059,23 +1059,16 @@ static void qed_rdma_copy_gids(struct qed_rdma_qp *qp, __le32 *src_gid,
 
 static enum roce_flavor qed_roce_mode_to_flavor(enum roce_mode roce_mode)
 {
-       enum roce_flavor flavor;
-
        switch (roce_mode) {
        case ROCE_V1:
-               flavor = PLAIN_ROCE;
-               break;
+               return PLAIN_ROCE;
        case ROCE_V2_IPV4:
-               flavor = RROCE_IPV4;
-               break;
+               return RROCE_IPV4;
        case ROCE_V2_IPV6:
-               flavor = ROCE_V2_IPV6;
-               break;
+               return RROCE_IPV6;
        default:
-               flavor = MAX_ROCE_MODE;
-               break;
+               return MAX_ROCE_FLAVOR;
        }
-       return flavor;
 }
 
 static int qed_roce_alloc_cid(struct qed_hwfn *p_hwfn, u16 *cid)