net: microchip: sparx5: fix deletion of existing DSCP mappings
authorDaniel Machon <daniel.machon@microchip.com>
Tue, 7 Mar 2023 11:21:03 +0000 (12:21 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 8 Mar 2023 13:07:59 +0000 (13:07 +0000)
commitcdd28833100c18a469c85a1cc3de9f6bbbe6caa0
tree21056c613f13edacf9589732f0bcb3739afcb69f
parentea9dd2e5c6d12c8b65ce7514c8359a70eeaa0e70
net: microchip: sparx5: fix deletion of existing DSCP mappings

Fix deletion of existing DSCP mappings in the APP table.

Adding and deleting DSCP entries are replicated per-port, since the
mapping table is global for all ports in the chip. Whenever a mapping
for a DSCP value already exists, the old mapping is deleted first.
However, it is only deleted for the specified port. Fix this by calling
sparx5_dcb_ieee_delapp() instead of dcb_ieee_delapp() as it ought to be.

Reproduce:

// Map and remap DSCP value 63
$ dcb app add dev eth0 dscp-prio 63:1
$ dcb app add dev eth0 dscp-prio 63:2

$ dcb app show dev eth0 dscp-prio
dscp-prio 63:2

$ dcb app show dev eth1 dscp-prio
dscp-prio 63:1 63:2 <-- 63:1 should not be there

Fixes: 8dcf69a64118 ("net: microchip: sparx5: add support for offloading dscp table")
Signed-off-by: Daniel Machon <daniel.machon@microchip.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/microchip/sparx5/sparx5_dcb.c