mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-09-22 09:34:56 +02:00
dpaa2-switch: check early if an FDB entry should be added
Instead of waiting until the last moment to check if an FDB entry should be added to HW, move the check earlier (before even scheduling the work item) so that we don't just waste time. Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Link: https://patch.msgid.link/20260629112309.154328-6-ioana.ciornei@nxp.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
committed by
Paolo Abeni
parent
da7ec6b81b
commit
0199ff706d
@@ -2308,8 +2308,6 @@ static void dpaa2_switch_event_work(struct work_struct *work)
|
||||
|
||||
switch (switchdev_work->event) {
|
||||
case SWITCHDEV_FDB_ADD_TO_DEVICE:
|
||||
if (!fdb_info->added_by_user || fdb_info->is_local)
|
||||
break;
|
||||
if (is_unicast_ether_addr(fdb_info->addr))
|
||||
err = dpaa2_switch_port_fdb_add_uc(netdev_priv(dev),
|
||||
fdb_info->addr);
|
||||
@@ -2323,8 +2321,6 @@ static void dpaa2_switch_event_work(struct work_struct *work)
|
||||
&fdb_info->info, NULL);
|
||||
break;
|
||||
case SWITCHDEV_FDB_DEL_TO_DEVICE:
|
||||
if (!fdb_info->added_by_user || fdb_info->is_local)
|
||||
break;
|
||||
if (is_unicast_ether_addr(fdb_info->addr))
|
||||
dpaa2_switch_port_fdb_del_uc(netdev_priv(dev), fdb_info->addr);
|
||||
else
|
||||
@@ -2350,6 +2346,9 @@ static int dpaa2_switch_port_fdb_event(struct notifier_block *nb,
|
||||
return NOTIFY_DONE;
|
||||
ethsw = port_priv->ethsw_data;
|
||||
|
||||
if (!fdb_info->added_by_user || fdb_info->is_local)
|
||||
return NOTIFY_DONE;
|
||||
|
||||
switchdev_work = kzalloc_obj(*switchdev_work, GFP_ATOMIC);
|
||||
if (!switchdev_work)
|
||||
return NOTIFY_BAD;
|
||||
|
||||
Reference in New Issue
Block a user