net: lan966x: Fix return value check for vcap_get_rule()
authorRuan Jinjie <ruanjinjie@huawei.com>
Fri, 18 Aug 2023 05:05:04 +0000 (13:05 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 19 Aug 2023 18:29:23 +0000 (19:29 +0100)
As Simon Horman suggests, update vcap_get_rule() to always
return an ERR_PTR() and update the error detection conditions to
use IS_ERR(), so use IS_ERR() to fix the return value issue.

Fixes: 72df3489fb10 ("net: lan966x: Add ptp trap rules")
Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com>
Suggested-by: Simon Horman <horms@kernel.org>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c

index 60bd0cff6677033bdbdd3e1828960414b5b2664a..63905bb5a63a838516f394ca051a00202c9a82a7 100644 (file)
@@ -59,7 +59,7 @@ static int lan966x_ptp_add_trap(struct lan966x_port *port,
        int err;
 
        vrule = vcap_get_rule(lan966x->vcap_ctrl, rule_id);
-       if (vrule) {
+       if (!IS_ERR(vrule)) {
                u32 value, mask;
 
                /* Just modify the ingress port mask and exit */
@@ -106,7 +106,7 @@ static int lan966x_ptp_del_trap(struct lan966x_port *port,
        int err;
 
        vrule = vcap_get_rule(lan966x->vcap_ctrl, rule_id);
-       if (!vrule)
+       if (IS_ERR(vrule))
                return -EEXIST;
 
        vcap_rule_get_key_u32(vrule, VCAP_KF_IF_IGR_PORT_MASK, &value, &mask);