lkml.org 
[lkml]   [2018]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.18 031/150] qed: Avoid implicit enum conversion in qed_roce_mode_to_flavor
    Date
    4.18-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    [ 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 | 15 ++++-----------
    1 file changed, 4 insertions(+), 11 deletions(-)

    diff --git a/drivers/net/ethernet/qlogic/qed/qed_roce.c b/drivers/net/ethernet/qlogic/qed/qed_roce.c
    index b5ce1581645f..79424e6f0976 100644
    --- a/drivers/net/ethernet/qlogic/qed/qed_roce.c
    +++ b/drivers/net/ethernet/qlogic/qed/qed_roce.c
    @@ -138,23 +138,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;
    }

    void qed_roce_free_cid_pair(struct qed_hwfn *p_hwfn, u16 cid)
    --
    2.17.1


    \
     
     \ /
      Last update: 2018-11-02 20:09    [W:4.132 / U:0.092 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site