Skip to content

Commit dc84bb1

Browse files
committed
Merge branch 'dpaa2-switch-various-fixes'
Ioana Ciornei says: ==================== dpaa2-switch: various fixes The first patch fixes the size passed to two dma_unmap_single() calls which was wrongly put as the size of the pointer. The second patch is new to this series and reverts the behavior of the dpaa2-switch driver to not ask for object replay upon offloading so that we avoid the errors encountered when a VLAN is installed multiple times on the same port. ==================== Link: https://lore.kernel.org/r/20231212164326.2753457-1-ioana.ciornei@nxp.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2 parents 23d05d5 + f24a49a commit dc84bb1

2 files changed

Lines changed: 6 additions & 12 deletions

File tree

drivers/net/ethernet/freescale/dpaa2/dpaa2-switch-flower.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,8 @@ int dpaa2_switch_acl_entry_add(struct dpaa2_switch_filter_block *filter_block,
139139
err = dpsw_acl_add_entry(ethsw->mc_io, 0, ethsw->dpsw_handle,
140140
filter_block->acl_id, acl_entry_cfg);
141141

142-
dma_unmap_single(dev, acl_entry_cfg->key_iova, sizeof(cmd_buff),
142+
dma_unmap_single(dev, acl_entry_cfg->key_iova,
143+
DPAA2_ETHSW_PORT_ACL_CMD_BUF_SIZE,
143144
DMA_TO_DEVICE);
144145
if (err) {
145146
dev_err(dev, "dpsw_acl_add_entry() failed %d\n", err);
@@ -181,8 +182,8 @@ dpaa2_switch_acl_entry_remove(struct dpaa2_switch_filter_block *block,
181182
err = dpsw_acl_remove_entry(ethsw->mc_io, 0, ethsw->dpsw_handle,
182183
block->acl_id, acl_entry_cfg);
183184

184-
dma_unmap_single(dev, acl_entry_cfg->key_iova, sizeof(cmd_buff),
185-
DMA_TO_DEVICE);
185+
dma_unmap_single(dev, acl_entry_cfg->key_iova,
186+
DPAA2_ETHSW_PORT_ACL_CMD_BUF_SIZE, DMA_TO_DEVICE);
186187
if (err) {
187188
dev_err(dev, "dpsw_acl_remove_entry() failed %d\n", err);
188189
kfree(cmd_buff);

drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1998,9 +1998,6 @@ static int dpaa2_switch_port_attr_set_event(struct net_device *netdev,
19981998
return notifier_from_errno(err);
19991999
}
20002000

2001-
static struct notifier_block dpaa2_switch_port_switchdev_nb;
2002-
static struct notifier_block dpaa2_switch_port_switchdev_blocking_nb;
2003-
20042001
static int dpaa2_switch_port_bridge_join(struct net_device *netdev,
20052002
struct net_device *upper_dev,
20062003
struct netlink_ext_ack *extack)
@@ -2043,9 +2040,7 @@ static int dpaa2_switch_port_bridge_join(struct net_device *netdev,
20432040
goto err_egress_flood;
20442041

20452042
err = switchdev_bridge_port_offload(netdev, netdev, NULL,
2046-
&dpaa2_switch_port_switchdev_nb,
2047-
&dpaa2_switch_port_switchdev_blocking_nb,
2048-
false, extack);
2043+
NULL, NULL, false, extack);
20492044
if (err)
20502045
goto err_switchdev_offload;
20512046

@@ -2079,9 +2074,7 @@ static int dpaa2_switch_port_restore_rxvlan(struct net_device *vdev, int vid, vo
20792074

20802075
static void dpaa2_switch_port_pre_bridge_leave(struct net_device *netdev)
20812076
{
2082-
switchdev_bridge_port_unoffload(netdev, NULL,
2083-
&dpaa2_switch_port_switchdev_nb,
2084-
&dpaa2_switch_port_switchdev_blocking_nb);
2077+
switchdev_bridge_port_unoffload(netdev, NULL, NULL, NULL);
20852078
}
20862079

20872080
static int dpaa2_switch_port_bridge_leave(struct net_device *netdev)

0 commit comments

Comments
 (0)