devlink: put couple of WARN_ONs in devlink_param_driverinit_value_get()
authorJiri Pirko <jiri@nvidia.com>
Thu, 26 Jan 2023 07:58:34 +0000 (08:58 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 27 Jan 2023 12:32:02 +0000 (12:32 +0000)
Put couple of WARN_ONs in devlink_param_driverinit_value_get() function
to clearly indicate, that it is a driver bug if used without reload
support or for non-driverinit param.

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/devlink/leftover.c

index 693470a..512ed4c 100644 (file)
@@ -10898,16 +10898,18 @@ int devlink_param_driverinit_value_get(struct devlink *devlink, u32 param_id,
 {
        struct devlink_param_item *param_item;
 
-       if (!devlink_reload_supported(devlink->ops))
+       if (WARN_ON(!devlink_reload_supported(devlink->ops)))
                return -EOPNOTSUPP;
 
        param_item = devlink_param_find_by_id(&devlink->param_list, param_id);
        if (!param_item)
                return -EINVAL;
 
-       if (!param_item->driverinit_value_valid ||
-           !devlink_param_cmode_is_supported(param_item->param,
-                                             DEVLINK_PARAM_CMODE_DRIVERINIT))
+       if (!param_item->driverinit_value_valid)
+               return -EOPNOTSUPP;
+
+       if (WARN_ON(!devlink_param_cmode_is_supported(param_item->param,
+                                                     DEVLINK_PARAM_CMODE_DRIVERINIT)))
                return -EOPNOTSUPP;
 
        if (param_item->param->type == DEVLINK_PARAM_TYPE_STRING)