RDMA/verbs: Drop kernel variant of destroy_flow
Following the removal of ib_create_flow(), adjust the code to get rid of ib_destroy_flow() too. Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
Родитель
ca576fbbdc
Коммит
1ccddc42da
|
@ -3631,7 +3631,8 @@ int ib_uverbs_ex_create_flow(struct ib_uverbs_file *file,
|
|||
kfree(kern_flow_attr);
|
||||
return 0;
|
||||
err_copy:
|
||||
ib_destroy_flow(flow_id);
|
||||
if (!qp->device->destroy_flow(flow_id))
|
||||
atomic_dec(&qp->usecnt);
|
||||
err_free:
|
||||
ib_uverbs_flow_resources_free(uflow_res);
|
||||
err_free_flow_attr:
|
||||
|
|
|
@ -48,14 +48,17 @@ static int uverbs_free_ah(struct ib_uobject *uobject,
|
|||
static int uverbs_free_flow(struct ib_uobject *uobject,
|
||||
enum rdma_remove_reason why)
|
||||
{
|
||||
int ret;
|
||||
struct ib_flow *flow = (struct ib_flow *)uobject->object;
|
||||
struct ib_uflow_object *uflow =
|
||||
container_of(uobject, struct ib_uflow_object, uobject);
|
||||
struct ib_qp *qp = flow->qp;
|
||||
int ret;
|
||||
|
||||
ret = ib_destroy_flow(flow);
|
||||
if (!ret)
|
||||
ret = qp->device->destroy_flow(flow);
|
||||
if (!ret) {
|
||||
atomic_dec(&qp->usecnt);
|
||||
ib_uverbs_flow_resources_free(uflow->resources);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -2275,18 +2275,6 @@ int ib_destroy_rwq_ind_table(struct ib_rwq_ind_table *rwq_ind_table)
|
|||
}
|
||||
EXPORT_SYMBOL(ib_destroy_rwq_ind_table);
|
||||
|
||||
int ib_destroy_flow(struct ib_flow *flow_id)
|
||||
{
|
||||
int err;
|
||||
struct ib_qp *qp = flow_id->qp;
|
||||
|
||||
err = qp->device->destroy_flow(flow_id);
|
||||
if (!err)
|
||||
atomic_dec(&qp->usecnt);
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL(ib_destroy_flow);
|
||||
|
||||
int ib_check_mr_status(struct ib_mr *mr, u32 check_mask,
|
||||
struct ib_mr_status *mr_status)
|
||||
{
|
||||
|
|
|
@ -3807,8 +3807,6 @@ struct ib_xrcd *__ib_alloc_xrcd(struct ib_device *device, const char *caller);
|
|||
*/
|
||||
int ib_dealloc_xrcd(struct ib_xrcd *xrcd);
|
||||
|
||||
int ib_destroy_flow(struct ib_flow *flow_id);
|
||||
|
||||
static inline int ib_check_mr_access(int flags)
|
||||
{
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче