]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drivers: net: ice: fix devlink parameters get without irdma
authorNikolay Aleksandrov <nikolay@nvidia.com>
Fri, 13 Feb 2026 08:48:41 +0000 (10:48 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Tue, 10 Mar 2026 16:08:31 +0000 (09:08 -0700)
If CONFIG_IRDMA isn't enabled but there are ice NICs in the system, the
driver will prevent full devlink dev param show dump because its rdma get
callbacks return ENODEV and stop the dump. For example:
 $ devlink dev param show
 pci/0000:82:00.0:
   name msix_vec_per_pf_max type generic
     values:
       cmode driverinit value 2
   name msix_vec_per_pf_min type generic
     values:
       cmode driverinit value 2
 kernel answers: No such device

Returning EOPNOTSUPP allows the dump to continue so we can see all devices'
devlink parameters.

Fixes: c24a65b6a27c ("iidc/ice/irdma: Update IDC to support multiple consumers")
Signed-off-by: Nikolay Aleksandrov <nikolay@nvidia.com>
Tested-by: Rinitha S <sx.rinitha@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/devlink/devlink.c

index 6c72bd15db6d75a1d4fa04ef8fefbd26fb6e84bd..6144cee8034d7731b8c60cc6dcd740509afd2bd1 100644 (file)
@@ -1360,7 +1360,7 @@ ice_devlink_enable_roce_get(struct devlink *devlink, u32 id,
 
        cdev = pf->cdev_info;
        if (!cdev)
-               return -ENODEV;
+               return -EOPNOTSUPP;
 
        ctx->val.vbool = !!(cdev->rdma_protocol & IIDC_RDMA_PROTOCOL_ROCEV2);
 
@@ -1427,7 +1427,7 @@ ice_devlink_enable_iw_get(struct devlink *devlink, u32 id,
 
        cdev = pf->cdev_info;
        if (!cdev)
-               return -ENODEV;
+               return -EOPNOTSUPP;
 
        ctx->val.vbool = !!(cdev->rdma_protocol & IIDC_RDMA_PROTOCOL_IWARP);