mirror of https://gitee.com/openkylin/linux.git
RDMA: Make counters destroy symmetrical
Change counters to return failure like any other verbs destroy, however this flow shouldn't return error at all. Link: https://lore.kernel.org/r/20200907120921.476363-10-leon@kernel.org Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
parent
add53535fb
commit
71ff3f6268
|
@ -46,7 +46,9 @@ static int uverbs_free_counters(struct ib_uobject *uobject,
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
counters->device->ops.destroy_counters(counters);
|
||||
ret = counters->device->ops.destroy_counters(counters);
|
||||
if (ret)
|
||||
return ret;
|
||||
kfree(counters);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -117,7 +117,7 @@ static int mlx5_ib_read_counters(struct ib_counters *counters,
|
|||
return ret;
|
||||
}
|
||||
|
||||
static void mlx5_ib_destroy_counters(struct ib_counters *counters)
|
||||
static int mlx5_ib_destroy_counters(struct ib_counters *counters)
|
||||
{
|
||||
struct mlx5_ib_mcounters *mcounters = to_mcounters(counters);
|
||||
|
||||
|
@ -125,6 +125,7 @@ static void mlx5_ib_destroy_counters(struct ib_counters *counters)
|
|||
if (mcounters->hw_cntrs_hndl)
|
||||
mlx5_fc_destroy(to_mdev(counters->device)->mdev,
|
||||
mcounters->hw_cntrs_hndl);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mlx5_ib_create_counters(struct ib_counters *counters,
|
||||
|
|
|
@ -2498,7 +2498,7 @@ struct ib_device_ops {
|
|||
struct uverbs_attr_bundle *attrs);
|
||||
int (*create_counters)(struct ib_counters *counters,
|
||||
struct uverbs_attr_bundle *attrs);
|
||||
void (*destroy_counters)(struct ib_counters *counters);
|
||||
int (*destroy_counters)(struct ib_counters *counters);
|
||||
int (*read_counters)(struct ib_counters *counters,
|
||||
struct ib_counters_read_attr *counters_read_attr,
|
||||
struct uverbs_attr_bundle *attrs);
|
||||
|
|
Loading…
Reference in New Issue