Subject: [PATCH 1/1] IB/ehca: Disallow creating UC QP with SRQ

From: Hoang-Nam Nguyen <[email-masked]>
Date: Wed, 1 Oct 2008 13:06:31 +0200

IB/ehca: Disallow creating QP for UC with SRQ

This patch prevents a UC QP to be created with SRQ, since current
firmware does not support this feature.

Signed-off-by: Michael Faath <[email-masked]>
---
 drivers/infiniband/hw/ehca/ehca_qp.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/infiniband/hw/ehca/ehca_qp.c b/drivers/infiniband/hw/ehca/ehca_qp.c
index b6bcee0..46897cd 100644
--- a/drivers/infiniband/hw/ehca/ehca_qp.c
+++ b/drivers/infiniband/hw/ehca/ehca_qp.c
@@ -460,6 +460,12 @@ static struct ehca_qp *internal_create_qp(
 		struct ehca_qp *my_srq =
 			container_of(init_attr->srq, struct ehca_qp, ib_srq);
 
+		if (qp_type == IB_QPT_UC) {
+			ehca_err(pd->device, "UC with SRQ not supported");
+			atomic_dec(&shca->num_qps);
+			return ERR_PTR(-EINVAL);
+		}
+
 		has_srq = 1;
 		parms.ext_type = EQPT_SRQBASE;
 		parms.srq_qpn = my_srq->real_qp_num;
-- 
1.5.5