From: Vladimir Oltean Date: Tue, 26 Oct 2021 09:25:56 +0000 (+0300) Subject: net: dsa: stop calling dev_hold in dsa_slave_fdb_event X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=425d19cedef8f5ad5cff07ac545d51feec29733c;p=linux.git 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: Vladimir Oltean Signed-off-by: David S. Miller --- diff --git a/net/dsa/slave.c b/net/dsa/slave.c index adcfb2cb4e612..dbda0e0fbffac 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c @@ -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;