]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Sep 2023 07:48:05 +0000 (09:48 +0200)
[ Upstream commit ab104318f63997113b0ce7ac288e51359925ed79 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c

index 266a21a2d124698b00d1e4040b97714150d7f1da..1da2b1f82ae93497bd8d4b45bcd3cd12a228a446 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);