diff options
author | David S. Miller <davem@davemloft.net> | 2020-07-21 16:14:58 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-07-21 16:14:58 -0700 |
commit | 1fe4085f90bca7001f3713c651b4c7368cac779a (patch) | |
tree | 1420ff4aef977d292eafab0e9b856b6dde6bd159 | |
parent | 3fc364c0527494f322ad9504a39d39a6197edfdc (diff) | |
parent | eac5f8a95ae39dd94af818f0f9fad5d46207ee33 (diff) |
Merge branch 'devlink-small-improvements'
Parav Pandit says:
====================
devlink small improvements
This short series improves the devlink code for lock commment,
simplifying checks and keeping the scope of mutex lock for necessary
fields.
Patch summary:
Patch-1 Keep the devlink_mutex for only for necessary changes.
Patch-2 Avoids duplicate check for reload flag
Patch-3 Adds missing comment for the scope of devlink instance lock
Patch-4 Constify devlink instance pointer
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/net/devlink.h | 4 | ||||
-rw-r--r-- | net/core/devlink.c | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/include/net/devlink.h b/include/net/devlink.h index 913e8679ae35..19d990c8edcc 100644 --- a/include/net/devlink.h +++ b/include/net/devlink.h @@ -40,7 +40,9 @@ struct devlink { struct xarray snapshot_ids; struct device *dev; possible_net_t _net; - struct mutex lock; + struct mutex lock; /* Serializes access to devlink instance specific objects such as + * port, sb, dpipe, resource, params, region, traps and more. + */ u8 reload_failed:1, reload_enabled:1, registered:1; diff --git a/net/core/devlink.c b/net/core/devlink.c index 6335e1851088..8b7bb4bfb6d0 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -2921,7 +2921,7 @@ static void devlink_reload_netns_change(struct devlink *devlink, DEVLINK_CMD_PARAM_NEW); } -static bool devlink_reload_supported(struct devlink *devlink) +static bool devlink_reload_supported(const struct devlink *devlink) { return devlink->ops->reload_down && devlink->ops->reload_up; } @@ -2967,7 +2967,7 @@ static int devlink_nl_cmd_reload(struct sk_buff *skb, struct genl_info *info) struct net *dest_net = NULL; int err; - if (!devlink_reload_supported(devlink) || !devlink->reload_enabled) + if (!devlink_reload_supported(devlink)) return -EOPNOTSUPP; err = devlink_resources_validate(devlink, NULL, info); @@ -7421,9 +7421,9 @@ EXPORT_SYMBOL_GPL(devlink_alloc); */ int devlink_register(struct devlink *devlink, struct device *dev) { - mutex_lock(&devlink_mutex); devlink->dev = dev; devlink->registered = true; + mutex_lock(&devlink_mutex); list_add_tail(&devlink->list, &devlink_list); devlink_notify(devlink, DEVLINK_CMD_NEW); mutex_unlock(&devlink_mutex); |