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.gea...@nxp.com>
---
 drivers/crypto/caam/qi.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/crypto/caam/qi.c b/drivers/crypto/caam/qi.c
index b9480828da38..67f7f8c42c93 100644
--- a/drivers/crypto/caam/qi.c
+++ b/drivers/crypto/caam/qi.c
@@ -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) {
-- 
2.16.2

Reply via email to