summaryrefslogtreecommitdiffstats
path: root/net/rds/ib_cm.c
diff options
context:
space:
mode:
authorAvinash Repaka <avinash.repaka@oracle.com>2016-03-02 00:20:54 +0100
committerDavid S. Miller <davem@davemloft.net>2016-03-02 20:13:19 +0100
commit1659185fb4d0025835eb2058a141f0746c5cab00 (patch)
treeb4cf4a644ba1fc2ba50cd478b1fa896bc61b1b2d /net/rds/ib_cm.c
parentRDS: IB: allocate extra space on queues for FRMR support (diff)
downloadlinux-1659185fb4d0025835eb2058a141f0746c5cab00.tar.xz
linux-1659185fb4d0025835eb2058a141f0746c5cab00.zip
RDS: IB: Support Fastreg MR (FRMR) memory registration mode
Fastreg MR(FRMR) is another method with which one can register memory to HCA. Some of the newer HCAs supports only fastreg mr mode, so we need to add support for it to have RDS functional on them. Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org> Signed-off-by: Avinash Repaka <avinash.repaka@oracle.com> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds/ib_cm.c')
-rw-r--r--net/rds/ib_cm.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/rds/ib_cm.c b/net/rds/ib_cm.c
index 83f4673970e7..8764970f0c24 100644
--- a/net/rds/ib_cm.c
+++ b/net/rds/ib_cm.c
@@ -249,7 +249,12 @@ static void poll_scq(struct rds_ib_connection *ic, struct ib_cq *cq,
(unsigned long long)wc->wr_id, wc->status,
wc->byte_len, be32_to_cpu(wc->ex.imm_data));
- rds_ib_send_cqe_handler(ic, wc);
+ if (wc->wr_id <= ic->i_send_ring.w_nr ||
+ wc->wr_id == RDS_IB_ACK_WR_ID)
+ rds_ib_send_cqe_handler(ic, wc);
+ else
+ rds_ib_mr_cqe_handler(ic, wc);
+
}
}
}