aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/ulp/iser/iser_memory.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/ulp/iser/iser_memory.c')
-rw-r--r--drivers/infiniband/ulp/iser/iser_memory.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/infiniband/ulp/iser/iser_memory.c b/drivers/infiniband/ulp/iser/iser_memory.c
index bcef0d31f756..8fea0bce5042 100644
--- a/drivers/infiniband/ulp/iser/iser_memory.c
+++ b/drivers/infiniband/ulp/iser/iser_memory.c
@@ -329,9 +329,9 @@ static void iser_data_buf_dump(struct iser_data_buf *data)
329 struct scatterlist *sg = (struct scatterlist *)data->buf; 329 struct scatterlist *sg = (struct scatterlist *)data->buf;
330 int i; 330 int i;
331 331
332 for (i = 0; i < data->size; i++) 332 for (i = 0; i < data->dma_nents; i++)
333 iser_err("sg[%d] dma_addr:0x%lX page:0x%p " 333 iser_err("sg[%d] dma_addr:0x%lX page:0x%p "
334 "off:%d sz:%d dma_len:%d\n", 334 "off:0x%x sz:0x%x dma_len:0x%x\n",
335 i, (unsigned long)sg_dma_address(&sg[i]), 335 i, (unsigned long)sg_dma_address(&sg[i]),
336 sg[i].page, sg[i].offset, 336 sg[i].page, sg[i].offset,
337 sg[i].length,sg_dma_len(&sg[i])); 337 sg[i].length,sg_dma_len(&sg[i]));
@@ -383,6 +383,7 @@ int iser_reg_rdma_mem(struct iscsi_iser_cmd_task *iser_ctask,
383 struct iser_regd_buf *regd_buf; 383 struct iser_regd_buf *regd_buf;
384 int aligned_len; 384 int aligned_len;
385 int err; 385 int err;
386 int i;
386 387
387 regd_buf = &iser_ctask->rdma_regd[cmd_dir]; 388 regd_buf = &iser_ctask->rdma_regd[cmd_dir];
388 389
@@ -400,8 +401,18 @@ int iser_reg_rdma_mem(struct iscsi_iser_cmd_task *iser_ctask,
400 401
401 iser_page_vec_build(mem, ib_conn->page_vec); 402 iser_page_vec_build(mem, ib_conn->page_vec);
402 err = iser_reg_page_vec(ib_conn, ib_conn->page_vec, &regd_buf->reg); 403 err = iser_reg_page_vec(ib_conn, ib_conn->page_vec, &regd_buf->reg);
403 if (err) 404 if (err) {
405 iser_data_buf_dump(mem);
406 iser_err("mem->dma_nents = %d (dlength = 0x%x)\n", mem->dma_nents,
407 ntoh24(iser_ctask->desc.iscsi_header.dlength));
408 iser_err("page_vec: data_size = 0x%x, length = %d, offset = 0x%x\n",
409 ib_conn->page_vec->data_size, ib_conn->page_vec->length,
410 ib_conn->page_vec->offset);
411 for (i=0 ; i<ib_conn->page_vec->length ; i++) {
412 iser_err("page_vec[%d] = 0x%lx\n", i, ib_conn->page_vec->pages[i]);
413 }
404 return err; 414 return err;
415 }
405 416
406 /* take a reference on this regd buf such that it will not be released * 417 /* take a reference on this regd buf such that it will not be released *
407 * (eg in send dto completion) before we get the scsi response */ 418 * (eg in send dto completion) before we get the scsi response */