aboutsummaryrefslogtreecommitdiffstats
path: root/net/dsa
diff options
context:
space:
mode:
authorVladimir Oltean <vladimir.oltean@nxp.com>2022-09-29 09:29:02 +0200
committerJakub Kicinski <kuba@kernel.org>2022-09-30 18:17:17 -0700
commit61e4a51621587c939672d6a9354f6d0aa3d4e131 (patch)
tree03eeb395f256a2b127980740d47c74ef6448ff95 /net/dsa
parentnet: dsa: don't do devlink port setup early (diff)
downloadlinux-dev-61e4a51621587c939672d6a9354f6d0aa3d4e131.tar.xz
linux-dev-61e4a51621587c939672d6a9354f6d0aa3d4e131.zip
net: dsa: remove bool devlink_port_setup
Since dsa_port_devlink_setup() and dsa_port_devlink_teardown() are already called from code paths which only execute once per port (due to the existing bool dp->setup), keeping another dp->devlink_port_setup is redundant, because we can already manage to balance the calls properly (and not call teardown when setup was never called, or call setup twice, or things like that). Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/dsa')
-rw-r--r--net/dsa/dsa2.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c
index 747c0364fb0f..af0e2c0394ac 100644
--- a/net/dsa/dsa2.c
+++ b/net/dsa/dsa2.c
@@ -510,7 +510,6 @@ static int dsa_port_devlink_setup(struct dsa_port *dp)
ds->ops->port_teardown(ds, dp->index);
return err;
}
- dp->devlink_port_setup = true;
return 0;
}
@@ -520,13 +519,12 @@ static void dsa_port_devlink_teardown(struct dsa_port *dp)
struct devlink_port *dlp = &dp->devlink_port;
struct dsa_switch *ds = dp->ds;
- if (dp->devlink_port_setup) {
- devlink_port_unregister(dlp);
- if (ds->ops->port_teardown)
- ds->ops->port_teardown(ds, dp->index);
- devlink_port_fini(dlp);
- }
- dp->devlink_port_setup = false;
+ devlink_port_unregister(dlp);
+
+ if (ds->ops->port_teardown)
+ ds->ops->port_teardown(ds, dp->index);
+
+ devlink_port_fini(dlp);
}
static int dsa_port_setup(struct dsa_port *dp)