]> err.no Git - linux-2.6/blobdiff - drivers/infiniband/hw/ipath/ipath_uc.c
IB/ipath: Support larger IB_QP_MAX_DEST_RD_ATOMIC and IB_QP_MAX_QP_RD_ATOMIC
[linux-2.6] / drivers / infiniband / hw / ipath / ipath_uc.c
index 325d6634ff53f81c5ebd354102c975a23d30d4f2..1c2b03c2ef5e9dd31366f36477132b7b4a8aeada 100644 (file)
@@ -42,7 +42,7 @@ static void complete_last_send(struct ipath_qp *qp, struct ipath_swqe *wqe,
 {
        if (++qp->s_last == qp->s_size)
                qp->s_last = 0;
-       if (!test_bit(IPATH_S_SIGNAL_REQ_WR, &qp->s_flags) ||
+       if (!(qp->s_flags & IPATH_S_SIGNAL_REQ_WR) ||
            (wqe->wr.send_flags & IB_SEND_SIGNALED)) {
                wc->wr_id = wqe->wr.wr_id;
                wc->status = IB_WC_SUCCESS;
@@ -344,13 +344,13 @@ void ipath_uc_rcv(struct ipath_ibdev *dev, struct ipath_ib_header *hdr,
        send_first:
                if (qp->r_reuse_sge) {
                        qp->r_reuse_sge = 0;
-                       qp->r_sge = qp->s_rdma_sge;
+                       qp->r_sge = qp->s_rdma_read_sge;
                } else if (!ipath_get_rwqe(qp, 0)) {
                        dev->n_pkt_drops++;
                        goto done;
                }
                /* Save the WQE so we can reuse it in case of an error. */
-               qp->s_rdma_sge = qp->r_sge;
+               qp->s_rdma_read_sge = qp->r_sge;
                qp->r_rcv_len = 0;
                if (opcode == OP(SEND_ONLY))
                        goto send_last;