RDMA/amso1100: Fix memory leak in c2_qp_modify()
vq_req is leaked in error cases. Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
dee234f48a
commit
ad1f9791e9
1 changed files with 8 additions and 5 deletions
|
@ -161,8 +161,10 @@ int c2_qp_modify(struct c2_dev *c2dev, struct c2_qp *qp,
|
|||
|
||||
if (attr_mask & IB_QP_STATE) {
|
||||
/* Ensure the state is valid */
|
||||
if (attr->qp_state < 0 || attr->qp_state > IB_QPS_ERR)
|
||||
return -EINVAL;
|
||||
if (attr->qp_state < 0 || attr->qp_state > IB_QPS_ERR) {
|
||||
err = -EINVAL;
|
||||
goto bail0;
|
||||
}
|
||||
|
||||
wr.next_qp_state = cpu_to_be32(to_c2_state(attr->qp_state));
|
||||
|
||||
|
@ -184,9 +186,10 @@ int c2_qp_modify(struct c2_dev *c2dev, struct c2_qp *qp,
|
|||
if (attr->cur_qp_state != IB_QPS_RTR &&
|
||||
attr->cur_qp_state != IB_QPS_RTS &&
|
||||
attr->cur_qp_state != IB_QPS_SQD &&
|
||||
attr->cur_qp_state != IB_QPS_SQE)
|
||||
return -EINVAL;
|
||||
else
|
||||
attr->cur_qp_state != IB_QPS_SQE) {
|
||||
err = -EINVAL;
|
||||
goto bail0;
|
||||
} else
|
||||
wr.next_qp_state =
|
||||
cpu_to_be32(to_c2_state(attr->cur_qp_state));
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue