summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c b/drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c
index 04fc2f3b1979..bd6bd380ba34 100644
--- a/drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c
+++ b/drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c
@@ -341,7 +341,7 @@ sparx5_tc_flower_handler_vlan_usage(struct sparx5_tc_flower_parse_usage *st)
st->used_keys |= BIT(FLOW_DISSECTOR_KEY_VLAN);
- return err;
+ return 0;
out:
NL_SET_ERR_MSG_MOD(st->fco->common.extack, "vlan parse error");
return err;
@@ -452,8 +452,10 @@ sparx5_tc_flower_handler_arp_usage(struct sparx5_tc_flower_parse_usage *st)
/* The IS2 ARP keyset does not support ARP hardware addresses */
if (!is_zero_ether_addr(mt.mask->sha) ||
- !is_zero_ether_addr(mt.mask->tha))
+ !is_zero_ether_addr(mt.mask->tha)) {
+ err = -EINVAL;
goto out;
+ }
if (mt.mask->sip) {
ipval = be32_to_cpu((__force __be32)mt.key->sip);
@@ -477,7 +479,7 @@ sparx5_tc_flower_handler_arp_usage(struct sparx5_tc_flower_parse_usage *st)
st->used_keys |= BIT(FLOW_DISSECTOR_KEY_ARP);
- return err;
+ return 0;
out:
NL_SET_ERR_MSG_MOD(st->fco->common.extack, "arp parse error");