diff options
author | Jiri Pirko <jiri@mellanox.com> | 2019-03-24 11:14:33 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-03-24 14:55:31 -0400 |
commit | 45b861120e0c2694cabf082c63b022465ac572bb (patch) | |
tree | 27ca12de04f592893947116998ce8cbf169cc3b1 /net/core/devlink.c | |
parent | d8ba36204cc74c727f6653abc47310d513634e2e (diff) | |
download | linux-45b861120e0c2694cabf082c63b022465ac572bb.tar.gz linux-45b861120e0c2694cabf082c63b022465ac572bb.tar.bz2 linux-45b861120e0c2694cabf082c63b022465ac572bb.zip |
net: devlink: disallow port_attrs_set() to be called before register
Since the port attributes are static and cannot change during the port
lifetime, WARN_ON if some driver calls it after registration. Also, no
need to call notifications as it is noop anyway due to check of
devlink_port->registered there.
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/devlink.c')
-rw-r--r-- | net/core/devlink.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/core/devlink.c b/net/core/devlink.c index 418efeafa79b..d78c8cea7c3d 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -5388,12 +5388,13 @@ void devlink_port_attrs_set(struct devlink_port *devlink_port, { struct devlink_port_attrs *attrs = &devlink_port->attrs; + if (WARN_ON(devlink_port->registered)) + return; attrs->set = true; attrs->flavour = flavour; attrs->port_number = port_number; attrs->split = split; attrs->split_subport_number = split_subport_number; - devlink_port_notify(devlink_port, DEVLINK_CMD_PORT_NEW); } EXPORT_SYMBOL_GPL(devlink_port_attrs_set); |