In error paths when destroying an object, uverbs should not decrement
associated objects' usecnt, since ib_dereg_mr(), ib_destroy_qp(),
etc. already do that.
Signed-off-by: Roland Dreier <rolandd@cisco.com>
err_unreg:
ib_dereg_mr(mr);
- atomic_dec(&pd->usecnt);
err_up:
mutex_unlock(&ib_uverbs_idr_mutex);
err_destroy:
ib_destroy_qp(qp);
- atomic_dec(&pd->usecnt);
- atomic_dec(&attr.send_cq->usecnt);
- atomic_dec(&attr.recv_cq->usecnt);
- if (attr.srq)
- atomic_dec(&attr.srq->usecnt);
err_up:
mutex_unlock(&ib_uverbs_idr_mutex);
err_destroy:
ib_destroy_srq(srq);
- atomic_dec(&pd->usecnt);
err_up:
mutex_unlock(&ib_uverbs_idr_mutex);