]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
idpf: remove redundant 'req_vec_chunks' NULL check
authorPavan Kumar Linga <pavan.kumar.linga@intel.com>
Wed, 14 Aug 2024 17:59:02 +0000 (10:59 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 16 Aug 2024 18:23:39 +0000 (11:23 -0700)
'req_vec_chunks' is used to store the vector info received
from the device control plane. The memory for it is allocated
in idpf_send_alloc_vectors_msg and returns an error if the memory
allocation fails.

'req_vec_chunks' cannot be NULL in the later code flow. So remove
the conditional check to extract the vector ids received from
the device control plane.

Smatch static checker warning:

drivers/net/ethernet/intel/idpf/idpf_lib.c:417 idpf_intr_req()
error: we previously assumed 'adapter->req_vec_chunks'
could be null (see line 360)

Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/intel-wired-lan/a355ae8a-9011-4a85-a4d1-5b2793bb5f7b@stanley.mountain/
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Pavan Kumar Linga <pavan.kumar.linga@intel.com>
Tested-by: Krishneil Singh <krishneil.k.singh@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Link: https://patch.msgid.link/20240814175903.4166390-1-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/intel/idpf/idpf_lib.c

index 0b6c8fd5bc90f7ad56768d79fd0dc234ba0b4135..4f20343e49a98039a5ca3b3c862fd44c05548bfc 100644 (file)
@@ -357,24 +357,11 @@ int idpf_intr_req(struct idpf_adapter *adapter)
                goto free_msix;
        }
 
-       if (adapter->req_vec_chunks) {
-               struct virtchnl2_vector_chunks *vchunks;
-               struct virtchnl2_alloc_vectors *ac;
-
-               ac = adapter->req_vec_chunks;
-               vchunks = &ac->vchunks;
-
-               num_vec_ids = idpf_get_vec_ids(adapter, vecids, total_vecs,
-                                              vchunks);
-               if (num_vec_ids < v_actual) {
-                       err = -EINVAL;
-                       goto free_vecids;
-               }
-       } else {
-               int i;
-
-               for (i = 0; i < v_actual; i++)
-                       vecids[i] = i;
+       num_vec_ids = idpf_get_vec_ids(adapter, vecids, total_vecs,
+                                      &adapter->req_vec_chunks->vchunks);
+       if (num_vec_ids < v_actual) {
+               err = -EINVAL;
+               goto free_vecids;
        }
 
        for (vector = 0; vector < v_actual; vector++) {