Skip to content

Commit 5447d78

Browse files
ffainellidavem330
authored andcommitted
net: dsa: Do not register devlink for unused ports
Even if commit 1d27732 ("net: dsa: setup and teardown ports") indicated that registering a devlink instance for unused ports is not a problem, and this is true, this can be confusing nonetheless, so let's not do it. Fixes: 1d27732 ("net: dsa: setup and teardown ports") Reported-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 6358d49 commit 5447d78

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

net/dsa/dsa2.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -258,11 +258,13 @@ static void dsa_tree_teardown_default_cpu(struct dsa_switch_tree *dst)
258258
static int dsa_port_setup(struct dsa_port *dp)
259259
{
260260
struct dsa_switch *ds = dp->ds;
261-
int err;
261+
int err = 0;
262262

263263
memset(&dp->devlink_port, 0, sizeof(dp->devlink_port));
264264

265-
err = devlink_port_register(ds->devlink, &dp->devlink_port, dp->index);
265+
if (dp->type != DSA_PORT_TYPE_UNUSED)
266+
err = devlink_port_register(ds->devlink, &dp->devlink_port,
267+
dp->index);
266268
if (err)
267269
return err;
268270

@@ -293,7 +295,8 @@ static int dsa_port_setup(struct dsa_port *dp)
293295

294296
static void dsa_port_teardown(struct dsa_port *dp)
295297
{
296-
devlink_port_unregister(&dp->devlink_port);
298+
if (dp->type != DSA_PORT_TYPE_UNUSED)
299+
devlink_port_unregister(&dp->devlink_port);
297300

298301
switch (dp->type) {
299302
case DSA_PORT_TYPE_UNUSED:

0 commit comments

Comments
 (0)