bnxt_en: Remove unnecessary unsigned integer comparison and initialize variable
authorGustavo A. R. Silva <gustavo@embeddedor.com>
Fri, 5 Oct 2018 20:12:09 +0000 (22:12 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 8 Oct 2018 03:36:40 +0000 (20:36 -0700)
There is no need to compare *val.vu32* with < 0 because
such variable is of type u32 (32 bits, unsigned), making it
impossible to hold a negative value. Fix this by removing
such comparison.

Also, initialize variable *max_val* to -1, just in case
it is not initialized to either BNXT_MSIX_VEC_MAX or
BNXT_MSIX_VEC_MIN_MAX before using it in a comparison
with val.vu32 at line 159:

if (val.vu32 > max_val)

Addresses-Coverity-ID: 1473915 ("Unsigned compared against 0")
Addresses-Coverity-ID: 1473920 ("Uninitialized scalar variable")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c

index 8a10e01f08619423df58b8b4987e7485573c3725..140dbd62106d66dfcb8d01144de8eb22085c05ba 100644 (file)
@@ -148,7 +148,7 @@ static int bnxt_dl_msix_validate(struct devlink *dl, u32 id,
                                 union devlink_param_value val,
                                 struct netlink_ext_ack *extack)
 {
-       int max_val;
+       int max_val = -1;
 
        if (id == DEVLINK_PARAM_GENERIC_ID_MSIX_VEC_PER_PF_MAX)
                max_val = BNXT_MSIX_VEC_MAX;
@@ -156,7 +156,7 @@ static int bnxt_dl_msix_validate(struct devlink *dl, u32 id,
        if (id == DEVLINK_PARAM_GENERIC_ID_MSIX_VEC_PER_PF_MIN)
                max_val = BNXT_MSIX_VEC_MIN_MAX;
 
-       if (val.vu32 < 0 || val.vu32 > max_val) {
+       if (val.vu32 > max_val) {
                NL_SET_ERR_MSG_MOD(extack, "MSIX value is exceeding the range");
                return -EINVAL;
        }