summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErez Zilber <erezz@voltaire.com>2006-09-11 12:19:17 +0300
committerRoland Dreier <rolandd@cisco.com>2006-09-22 15:22:49 -0700
commit777a71dd4d901f055967ddbd038d2a74ffce0eb8 (patch)
tree88c05b9d52619a4881c12c752b55ed124f782fc0
parent61a73c708f37295892176bc911b178278df6a091 (diff)
downloadlinux-777a71dd4d901f055967ddbd038d2a74ffce0eb8.tar.bz2
IB/iser: fix a check of SG alignment for RDMA
dma mapping may include a "compaction" of the sg associated with scsi command. Hence, the size of the maximal prefix of the SG which is aligned for rdma must be compared against the length of the dma mapped sg (mem->dma_nents) and not against the size of it before it was mapped (mem->size). Signed-off-by: Erez Zilber <erezz@voltaire.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
-rw-r--r--drivers/infiniband/ulp/iser/iser_memory.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/ulp/iser/iser_memory.c b/drivers/infiniband/ulp/iser/iser_memory.c
index 31950a522a1c..53af9567632e 100644
--- a/drivers/infiniband/ulp/iser/iser_memory.c
+++ b/drivers/infiniband/ulp/iser/iser_memory.c
@@ -378,7 +378,7 @@ int iser_reg_rdma_mem(struct iscsi_iser_cmd_task *iser_ctask,
regd_buf = &iser_ctask->rdma_regd[cmd_dir];
aligned_len = iser_data_buf_aligned_len(mem);
- if (aligned_len != mem->size) {
+ if (aligned_len != mem->dma_nents) {
iser_err("rdma alignment violation %d/%d aligned\n",
aligned_len, mem->size);
iser_data_buf_dump(mem);