From: Hoang-Nam Nguyen Date: Thu, 17 Jan 2008 14:03:55 +0000 (+0100) Subject: IB/ehca: Remove CQ-QP-link before destroying QP in error path of create_qp() X-Git-Tag: v2.6.25-rc1~1234^2~18 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=0c86e280fe8a08d4ae30b77e46a1e7da28d756c9;p=linux-2.6-omap-h63xx.git IB/ehca: Remove CQ-QP-link before destroying QP in error path of create_qp() Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier --- diff --git a/drivers/infiniband/hw/ehca/ehca_qp.c b/drivers/infiniband/hw/ehca/ehca_qp.c index f116eb7c0b1..26c6a945459 100644 --- a/drivers/infiniband/hw/ehca/ehca_qp.c +++ b/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);