diff options
Diffstat (limited to 'drivers/infiniband/ulp/iser/iser_verbs.c')
-rw-r--r-- | drivers/infiniband/ulp/iser/iser_verbs.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/infiniband/ulp/iser/iser_verbs.c b/drivers/infiniband/ulp/iser/iser_verbs.c index 72febf1f8ff8..ecdca7fc1e4c 100644 --- a/drivers/infiniband/ulp/iser/iser_verbs.c +++ b/drivers/infiniband/ulp/iser/iser_verbs.c | |||
@@ -88,8 +88,9 @@ static int iser_create_device_ib_res(struct iser_device *device) | |||
88 | iser_cq_tasklet_fn, | 88 | iser_cq_tasklet_fn, |
89 | (unsigned long)device); | 89 | (unsigned long)device); |
90 | 90 | ||
91 | device->mr = ib_get_dma_mr(device->pd, | 91 | device->mr = ib_get_dma_mr(device->pd, IB_ACCESS_LOCAL_WRITE | |
92 | IB_ACCESS_LOCAL_WRITE); | 92 | IB_ACCESS_REMOTE_WRITE | |
93 | IB_ACCESS_REMOTE_READ); | ||
93 | if (IS_ERR(device->mr)) | 94 | if (IS_ERR(device->mr)) |
94 | goto dma_mr_err; | 95 | goto dma_mr_err; |
95 | 96 | ||
@@ -150,7 +151,7 @@ static int iser_create_ib_conn_res(struct iser_conn *ib_conn) | |||
150 | } | 151 | } |
151 | ib_conn->page_vec->pages = (u64 *) (ib_conn->page_vec + 1); | 152 | ib_conn->page_vec->pages = (u64 *) (ib_conn->page_vec + 1); |
152 | 153 | ||
153 | params.page_shift = PAGE_SHIFT; | 154 | params.page_shift = SHIFT_4K; |
154 | /* when the first/last SG element are not start/end * | 155 | /* when the first/last SG element are not start/end * |
155 | * page aligned, the map whould be of N+1 pages */ | 156 | * page aligned, the map whould be of N+1 pages */ |
156 | params.max_pages_per_fmr = ISCSI_ISER_SG_TABLESIZE + 1; | 157 | params.max_pages_per_fmr = ISCSI_ISER_SG_TABLESIZE + 1; |
@@ -604,8 +605,9 @@ int iser_reg_page_vec(struct iser_conn *ib_conn, | |||
604 | 605 | ||
605 | mem_reg->lkey = mem->fmr->lkey; | 606 | mem_reg->lkey = mem->fmr->lkey; |
606 | mem_reg->rkey = mem->fmr->rkey; | 607 | mem_reg->rkey = mem->fmr->rkey; |
607 | mem_reg->len = page_vec->length * PAGE_SIZE; | 608 | mem_reg->len = page_vec->length * SIZE_4K; |
608 | mem_reg->va = io_addr; | 609 | mem_reg->va = io_addr; |
610 | mem_reg->is_fmr = 1; | ||
609 | mem_reg->mem_h = (void *)mem; | 611 | mem_reg->mem_h = (void *)mem; |
610 | 612 | ||
611 | mem_reg->va += page_vec->offset; | 613 | mem_reg->va += page_vec->offset; |