OSDN Git Service

crypto: caam/qi - fix warning in init_cgr()
authorHoria Geantă <horia.geanta@nxp.com>
Wed, 23 May 2018 11:32:42 +0000 (14:32 +0300)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 30 May 2018 16:13:47 +0000 (00:13 +0800)
Coverity warns about an
"Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN)"
when computing the congestion threshold value.

Even though it is highly unlikely for an overflow to happen,
use this as an opportunity to simplify the code.

Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/caam/qi.c

index b948082..67f7f8c 100644 (file)
@@ -657,9 +657,8 @@ static int init_cgr(struct device *qidev)
 {
        int ret;
        struct qm_mcc_initcgr opts;
-       const u64 cpus = *(u64 *)qman_affine_cpus();
-       const int num_cpus = hweight64(cpus);
-       const u64 val = num_cpus * MAX_RSP_FQ_BACKLOG_PER_CPU;
+       const u64 val = (u64)cpumask_weight(qman_affine_cpus()) *
+                       MAX_RSP_FQ_BACKLOG_PER_CPU;
 
        ret = qman_alloc_cgrid(&qipriv.cgr.cgrid);
        if (ret) {