Lines Matching refs:uflow_res
2595 void ib_uverbs_flow_resources_free(struct ib_uflow_resources *uflow_res)
2599 if (!uflow_res)
2602 for (i = 0; i < uflow_res->collection_num; i++)
2603 atomic_dec(&uflow_res->collection[i]->usecnt);
2605 for (i = 0; i < uflow_res->counters_num; i++)
2606 atomic_dec(&uflow_res->counters[i]->usecnt);
2608 kfree(uflow_res->collection);
2609 kfree(uflow_res->counters);
2610 kfree(uflow_res);
2614 void flow_resources_add(struct ib_uflow_resources *uflow_res,
2618 WARN_ON(uflow_res->num >= uflow_res->max);
2623 uflow_res->collection[uflow_res->collection_num++] =
2628 uflow_res->counters[uflow_res->counters_num++] =
2635 uflow_res->num++;
2642 struct ib_uflow_resources *uflow_res)
2673 flow_resources_add(uflow_res,
2691 flow_resources_add(uflow_res,
2869 struct ib_uflow_resources *uflow_res)
2876 uflow_res);
3186 struct ib_uflow_resources *uflow_res;
3270 uflow_res = flow_resources_alloc(cmd.flow_attr.num_of_specs);
3271 if (!uflow_res) {
3291 ib_spec, uflow_res);
3316 ib_set_flow(uobj, flow_id, qp, qp->device, uflow_res);
3330 ib_uverbs_flow_resources_free(uflow_res);