Commit f7b4cf03 authored by Yuan Can's avatar Yuan Can Committed by Paolo Abeni
Browse files

mlxsw: spectrum_router: fix xa_store() error checking



It is meant to use xa_err() to extract the error encoded in the return
value of xa_store().

Fixes: 44c2fbeb ("mlxsw: spectrum_router: Share nexthop counters in resilient groups")
Signed-off-by: default avatarYuan Can <yuancan@huawei.com>
Reviewed-by: default avatarPetr Machata <petrm@nvidia.com>
Reviewed-by: default avatarPrzemek Kitszel <przemyslaw.kitszel@intel.com>
Tested-by: default avatarPetr Machata <petrm@nvidia.com>
Link: https://patch.msgid.link/20241017023223.74180-1-yuancan@huawei.com


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent fa287557
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -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;