aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/ulp/srpt/ib_srpt.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/ulp/srpt/ib_srpt.c')
-rw-r--r--drivers/infiniband/ulp/srpt/ib_srpt.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c b/drivers/infiniband/ulp/srpt/ib_srpt.c
index bcfb398a6639..fe09f2788b15 100644
--- a/drivers/infiniband/ulp/srpt/ib_srpt.c
+++ b/drivers/infiniband/ulp/srpt/ib_srpt.c
@@ -1078,6 +1078,7 @@ static void srpt_unmap_sg_to_ib_sge(struct srpt_rdma_ch *ch,
1078static int srpt_map_sg_to_ib_sge(struct srpt_rdma_ch *ch, 1078static int srpt_map_sg_to_ib_sge(struct srpt_rdma_ch *ch,
1079 struct srpt_send_ioctx *ioctx) 1079 struct srpt_send_ioctx *ioctx)
1080{ 1080{
1081 struct ib_device *dev = ch->sport->sdev->device;
1081 struct se_cmd *cmd; 1082 struct se_cmd *cmd;
1082 struct scatterlist *sg, *sg_orig; 1083 struct scatterlist *sg, *sg_orig;
1083 int sg_cnt; 1084 int sg_cnt;
@@ -1124,7 +1125,7 @@ static int srpt_map_sg_to_ib_sge(struct srpt_rdma_ch *ch,
1124 1125
1125 db = ioctx->rbufs; 1126 db = ioctx->rbufs;
1126 tsize = cmd->data_length; 1127 tsize = cmd->data_length;
1127 dma_len = sg_dma_len(&sg[0]); 1128 dma_len = ib_sg_dma_len(dev, &sg[0]);
1128 riu = ioctx->rdma_ius; 1129 riu = ioctx->rdma_ius;
1129 1130
1130 /* 1131 /*
@@ -1155,7 +1156,8 @@ static int srpt_map_sg_to_ib_sge(struct srpt_rdma_ch *ch,
1155 ++j; 1156 ++j;
1156 if (j < count) { 1157 if (j < count) {
1157 sg = sg_next(sg); 1158 sg = sg_next(sg);
1158 dma_len = sg_dma_len(sg); 1159 dma_len = ib_sg_dma_len(
1160 dev, sg);
1159 } 1161 }
1160 } 1162 }
1161 } else { 1163 } else {
@@ -1192,8 +1194,8 @@ static int srpt_map_sg_to_ib_sge(struct srpt_rdma_ch *ch,
1192 tsize = cmd->data_length; 1194 tsize = cmd->data_length;
1193 riu = ioctx->rdma_ius; 1195 riu = ioctx->rdma_ius;
1194 sg = sg_orig; 1196 sg = sg_orig;
1195 dma_len = sg_dma_len(&sg[0]); 1197 dma_len = ib_sg_dma_len(dev, &sg[0]);
1196 dma_addr = sg_dma_address(&sg[0]); 1198 dma_addr = ib_sg_dma_address(dev, &sg[0]);
1197 1199
1198 /* this second loop is really mapped sg_addres to rdma_iu->ib_sge */ 1200 /* this second loop is really mapped sg_addres to rdma_iu->ib_sge */
1199 for (i = 0, j = 0; 1201 for (i = 0, j = 0;
@@ -1216,8 +1218,10 @@ static int srpt_map_sg_to_ib_sge(struct srpt_rdma_ch *ch,
1216 ++j; 1218 ++j;
1217 if (j < count) { 1219 if (j < count) {
1218 sg = sg_next(sg); 1220 sg = sg_next(sg);
1219 dma_len = sg_dma_len(sg); 1221 dma_len = ib_sg_dma_len(
1220 dma_addr = sg_dma_address(sg); 1222 dev, sg);
1223 dma_addr = ib_sg_dma_address(
1224 dev, sg);
1221 } 1225 }
1222 } 1226 }
1223 } else { 1227 } else {