OSDN Git Service

crypto: hisilicon - cleanup warning in qm_get_qos_value()
authorTom Rix <trix@redhat.com>
Wed, 22 Dec 2021 17:29:23 +0000 (09:29 -0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 31 Dec 2021 07:10:56 +0000 (18:10 +1100)
Building with clang static analysis returns this warning:

qm.c:4382:11: warning: The left operand of '==' is a garbage value
        if (*val == 0 || *val > QM_QOS_MAX_VAL || ret) {
            ~~~~ ^

The call to qm_qos_value_init() can return an error without setting
*val.  So check ret before checking *val.

Fixes: 72b010dc33b9 ("crypto: hisilicon/qm - supports writing QoS int the host")
Signed-off-by: Tom Rix <trix@redhat.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/hisilicon/qm.c

index b731cb4..c5b84a5 100644 (file)
@@ -4394,7 +4394,7 @@ static ssize_t qm_get_qos_value(struct hisi_qm *qm, const char *buf,
                return -EINVAL;
 
        ret = qm_qos_value_init(val_buf, val);
-       if (*val == 0 || *val > QM_QOS_MAX_VAL || ret) {
+       if (ret || *val == 0 || *val > QM_QOS_MAX_VAL) {
                pci_err(qm->pdev, "input qos value is error, please set 1~1000!\n");
                return -EINVAL;
        }