net: prestera: span: do not unbind things things that were never bound
authorMaksym Glubokiy <maksym.glubokiy@plvision.eu>
Thu, 6 Oct 2022 19:06:00 +0000 (22:06 +0300)
committerJakub Kicinski <kuba@kernel.org>
Tue, 11 Oct 2022 00:59:53 +0000 (17:59 -0700)
Fixes: 13defa275eef ("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>
drivers/net/ethernet/marvell/prestera/prestera_span.c

index f0e9d6e..1005182 100644 (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;