net: prestera: span: do not unbind things things that were never bound

Fixes: 13defa275e ("net: marvell: prestera: Add matchall support")
Signed-off-by: Maksym Glubokiy <maksym.glubokiy@plvision.eu>
Link: https://lore.kernel.org/r/20221006190600.881740-1-maksym.glubokiy@plvision.eu
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Maksym Glubokiy 2022-10-06 22:06:00 +03:00 committed by Jakub Kicinski
parent af7d23f9d9
commit 32391e646a

View File

@ -107,7 +107,7 @@ static int prestera_span_put(struct prestera_switch *sw, u8 span_id)
entry = prestera_span_entry_find_by_id(sw->span, span_id);
if (!entry)
return false;
return -ENOENT;
if (!refcount_dec_and_test(&entry->ref_count))
return 0;
@ -151,6 +151,9 @@ int prestera_span_rule_del(struct prestera_flow_block_binding *binding,
{
int err;
if (binding->span_id == PRESTERA_SPAN_INVALID_ID)
return -ENOENT;
err = prestera_hw_span_unbind(binding->port, ingress);
if (err)
return err;