]> www.infradead.org Git - users/hch/dma-mapping.git/commitdiff
mlxsw: spectrum_router: fix xa_store() error checking
authorYuan Can <yuancan@huawei.com>
Thu, 17 Oct 2024 02:32:23 +0000 (10:32 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 22 Oct 2024 11:01:55 +0000 (13:01 +0200)
It is meant to use xa_err() to extract the error encoded in the return
value of xa_store().

Fixes: 44c2fbebe18a ("mlxsw: spectrum_router: Share nexthop counters in resilient groups")
Signed-off-by: Yuan Can <yuancan@huawei.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Tested-by: Petr Machata <petrm@nvidia.com>
Link: https://patch.msgid.link/20241017023223.74180-1-yuancan@huawei.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c

index 800dfb64ec830391e462da153ac938bc2e7bf0cd..7d6d859cef3f9f2646c16d5160ef7636ab695c2f 100644 (file)
@@ -3197,7 +3197,6 @@ mlxsw_sp_nexthop_sh_counter_get(struct mlxsw_sp *mlxsw_sp,
 {
        struct mlxsw_sp_nexthop_group *nh_grp = nh->nhgi->nh_grp;
        struct mlxsw_sp_nexthop_counter *nhct;
-       void *ptr;
        int err;
 
        nhct = xa_load(&nh_grp->nhgi->nexthop_counters, nh->id);
@@ -3210,12 +3209,10 @@ mlxsw_sp_nexthop_sh_counter_get(struct mlxsw_sp *mlxsw_sp,
        if (IS_ERR(nhct))
                return nhct;
 
-       ptr = xa_store(&nh_grp->nhgi->nexthop_counters, nh->id, nhct,
-                      GFP_KERNEL);
-       if (IS_ERR(ptr)) {
-               err = PTR_ERR(ptr);
+       err = xa_err(xa_store(&nh_grp->nhgi->nexthop_counters, nh->id, nhct,
+                             GFP_KERNEL));
+       if (err)
                goto err_store;
-       }
 
        return nhct;