net: lan966x: Fix port police support using tc-matchall
[ Upstream commit81563d8548
] When the police was removed from the port, then it was trying to remove the police from the police id and not from the actual police index. The police id represents the id of the police and police index represents the position in HW where the police is situated. The port police id can be any number while the port police index is a number based on the port chip port. Fix this by deleting the police from HW that is situated at the police index and not police id. Fixes:5390334b59
("net: lan966x: Add port police support using tc-matchall") Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Reviewed-by: Simon Horman <simon.horman@corigine.com> Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
25b54f247e
commit
6fac771473
@ -194,7 +194,7 @@ int lan966x_police_port_del(struct lan966x_port *port,
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = lan966x_police_del(port, port->tc.police_id);
|
err = lan966x_police_del(port, POL_IDX_PORT + port->chip_port);
|
||||||
if (err) {
|
if (err) {
|
||||||
NL_SET_ERR_MSG_MOD(extack,
|
NL_SET_ERR_MSG_MOD(extack,
|
||||||
"Failed to add policer to port");
|
"Failed to add policer to port");
|
||||||
|
Reference in New Issue
Block a user