@@ -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);