[rds-devel] IB/rds: fix for "RDS RDMA mode does not work on QLogic HCAs"

Ralph Campbell ralph.campbell at qlogic.com
Fri Dec 5 17:05:53 PST 2008


The following is a fix for OFED bug 1434.

Signed-off-by: Ralph Campbell <ralph.campbell at qlogic.com>

--- ib_send.c.old	2008-12-01 17:52:58.000000000 -0800
+++ ib_send.c	2008-12-05 16:44:27.054967000 -0800
@@ -789,15 +789,16 @@ int rds_ib_xmit_rdma(struct rds_connecti
 			prev->s_wr.next = &send->s_wr;
 
 		for (j = 0; j < send->s_wr.num_sge && scat != &op->r_sg[op->r_count]; j++) {
-			len = sg_dma_len(scat);
-			send->s_sge[j].addr = sg_dma_address(scat);
+			len = ib_sg_dma_len(ic->i_cm_id->device, scat);
+			send->s_sge[j].addr =
+				ib_sg_dma_address(ic->i_cm_id->device, scat);
 			send->s_sge[j].length = len;
 			send->s_sge[j].lkey = rds_ib_local_dma_lkey(ic);
 
 			sent += len;
 			rdsdebug("ic %p sent %d remote_addr %llu\n", ic, sent, remote_addr);
 
-			remote_addr += sg_dma_len(scat);
+			remote_addr += len;
 			scat++;
 		}
 





More information about the rds-devel mailing list