summaryrefslogtreecommitdiff
path: root/net/core/devlink.c
diff options
context:
space:
mode:
authorJiri Pirko <jiri@nvidia.com>2022-11-02 17:02:00 +0100
committerJakub Kicinski <kuba@kernel.org>2022-11-03 20:48:32 -0700
commit8573a04404ddacb2d966eef09bf38b2ad6dbe86f (patch)
treea62e8c9e4817f127afd16e32eadc1af4c89c925a /net/core/devlink.c
parent3830c5719af66fac9849cf5fb04b03d4e4bb46ff (diff)
net: devlink: move port_type_warn_schedule() call to __devlink_port_type_set()
As __devlink_port_type_set() is going to be called directly from netdevice notifier event handle in one of the follow-up patches, move the port_type_warn_schedule() call there. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/core/devlink.c')
-rw-r--r--net/core/devlink.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/net/core/devlink.c b/net/core/devlink.c
index 868d04c2164f..3ba3435e2cd5 100644
--- a/net/core/devlink.c
+++ b/net/core/devlink.c
@@ -10000,7 +10000,11 @@ static void __devlink_port_type_set(struct devlink_port *devlink_port,
{
ASSERT_DEVLINK_PORT_REGISTERED(devlink_port);
- devlink_port_type_warn_cancel(devlink_port);
+ if (type == DEVLINK_PORT_TYPE_NOTSET)
+ devlink_port_type_warn_schedule(devlink_port);
+ else
+ devlink_port_type_warn_cancel(devlink_port);
+
spin_lock_bh(&devlink_port->type_lock);
devlink_port->type = type;
switch (type) {
@@ -10095,7 +10099,6 @@ EXPORT_SYMBOL_GPL(devlink_port_type_ib_set);
void devlink_port_type_clear(struct devlink_port *devlink_port)
{
__devlink_port_type_set(devlink_port, DEVLINK_PORT_TYPE_NOTSET, NULL);
- devlink_port_type_warn_schedule(devlink_port);
}
EXPORT_SYMBOL_GPL(devlink_port_type_clear);