Re: [PATCH 09/30] IB/core: Modify ib_verbs and cma in order to use roce_gid_cache

Haggai Eran
2015-02-19T12:52:18Z

On 20/02/2015 00:02, Somnath Kotur wrote:
> --- a/drivers/infiniband/core/uverbs_cmd.c
> +++ b/drivers/infiniband/core/uverbs_cmd.c
> @@ -2089,15 +2089,16 @@ ssize_t ib_uverbs_modify_qp(struct ib_uverbs_file *file,
> attr->alt_ah_attr.port_num = cmd.alt_dest.port_num;
>
> if (qp->real_qp == qp) {
> - ret = ib_resolve_eth_l2_attrs(qp, attr, &cmd.attr_mask);
> + ret = ib_resolve_eth_dmac(qp, attr, &cmd.attr_mask);
> if (ret)
> - goto out;
> + goto out_put;
> ret = qp->device->modify_qp(qp, attr,
> modify_qp_mask(qp->qp_type, cmd.attr_mask), &udata);
> } else {
> ret = ib_modify_qp(qp, attr, modify_qp_mask(qp->qp_type, cmd.attr_mask));
> }
>
> +out_put:
> put_qp_read(qp);

This seem to solve a leak of QP references when dmac resolution fails.
I'm not sure it belongs with the rest of the patch.