Browse Source

IB/ehca: Remove CQ-QP-link before destroying QP in error path of create_qp()

Signed-off-by: Hoang-Nam Nguyen <hnguyen@de.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Hoang-Nam Nguyen 17 years ago
parent
commit
0c86e280fe
1 changed files with 4 additions and 1 deletions
  1. 4 1
      drivers/infiniband/hw/ehca/ehca_qp.c

+ 4 - 1
drivers/infiniband/hw/ehca/ehca_qp.c

@@ -769,12 +769,15 @@ static struct ehca_qp *internal_create_qp(
 		if (ib_copy_to_udata(udata, &resp, sizeof resp)) {
 			ehca_err(pd->device, "Copy to udata failed");
 			ret = -EINVAL;
-			goto create_qp_exit4;
+			goto create_qp_exit5;
 		}
 	}
 
 	return my_qp;
 
+create_qp_exit5:
+	ehca_cq_unassign_qp(my_qp->send_cq, my_qp->real_qp_num);
+
 create_qp_exit4:
 	if (HAS_RQ(my_qp))
 		ipz_queue_dtor(my_pd, &my_qp->ipz_rqueue);