RDMA/ocrdma: Fix check of GSI CQs
authorRoland Dreier <roland@purestorage.com>
Fri, 27 Jul 2012 20:14:44 +0000 (13:14 -0700)
committerRoland Dreier <roland@purestorage.com>
Fri, 27 Jul 2012 20:14:44 +0000 (13:14 -0700)
It looks like one check was accidentally duplicated, and the other 3
checks were left out.  This was detected by scripts/coccinelle/tests/doubletest.cocci:

    drivers/infiniband/hw/ocrdma/ocrdma_verbs.c:895:6-54: duplicated argument to && or ||

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c

index b2f9784beb4ad88a34243388563b230182f16db8..cb5b7f7d4d3876904bb6b515273747c37787465d 100644 (file)
@@ -893,7 +893,9 @@ static int ocrdma_check_qp_params(struct ib_pd *ibpd, struct ocrdma_dev *dev,
        /* verify consumer QPs are not trying to use GSI QP's CQ */
        if ((attrs->qp_type != IB_QPT_GSI) && (dev->gsi_qp_created)) {
                if ((dev->gsi_sqcq == get_ocrdma_cq(attrs->send_cq)) ||
-                   (dev->gsi_sqcq == get_ocrdma_cq(attrs->send_cq))) {
+                   (dev->gsi_sqcq == get_ocrdma_cq(attrs->recv_cq)) ||
+                   (dev->gsi_rqcq == get_ocrdma_cq(attrs->send_cq)) ||
+                   (dev->gsi_rqcq == get_ocrdma_cq(attrs->recv_cq))) {
                        ocrdma_err("%s(%d) Consumer QP cannot use GSI CQs.\n",
                                   __func__, dev->id);
                        return -EINVAL;