Commit 425d19ce authored by Vladimir Oltean's avatar Vladimir Oltean Committed by David S. Miller
Browse files

net: dsa: stop calling dev_hold in dsa_slave_fdb_event



Now that we guarantee that SWITCHDEV_FDB_{ADD,DEL}_TO_DEVICE events have
finished executing by the time we leave our bridge upper interface,
we've established a stronger boundary condition for how long the
dsa_slave_switchdev_event_work() might run.

As such, it is no longer possible for DSA slave interfaces to become
unregistered, since they are still bridge ports.

So delete the unnecessary dev_hold() and dev_put().

Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d7d0d423
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -2448,7 +2448,6 @@ static void dsa_slave_switchdev_event_work(struct work_struct *work)
		break;
	}

	dev_put(switchdev_work->dev);
	kfree(switchdev_work);
}

@@ -2521,8 +2520,6 @@ static int dsa_slave_fdb_event(struct net_device *dev,
	switchdev_work->vid = fdb_info->vid;
	switchdev_work->host_addr = host_addr;

	/* Hold a reference for dsa_fdb_offload_notify */
	dev_hold(dev);
	dsa_schedule_work(&switchdev_work->work);

	return 0;