diff options
Diffstat (limited to 'drivers/infiniband/ulp/srp/ib_srp.c')
-rw-r--r-- | drivers/infiniband/ulp/srp/ib_srp.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c index 646de170ec12..3322ed750172 100644 --- a/drivers/infiniband/ulp/srp/ib_srp.c +++ b/drivers/infiniband/ulp/srp/ib_srp.c | |||
@@ -1457,7 +1457,6 @@ static int srp_map_sg_fr(struct srp_map_state *state, struct srp_rdma_ch *ch, | |||
1457 | { | 1457 | { |
1458 | unsigned int sg_offset = 0; | 1458 | unsigned int sg_offset = 0; |
1459 | 1459 | ||
1460 | state->desc = req->indirect_desc; | ||
1461 | state->fr.next = req->fr_list; | 1460 | state->fr.next = req->fr_list; |
1462 | state->fr.end = req->fr_list + ch->target->mr_per_cmd; | 1461 | state->fr.end = req->fr_list + ch->target->mr_per_cmd; |
1463 | state->sg = scat; | 1462 | state->sg = scat; |
@@ -1489,7 +1488,6 @@ static int srp_map_sg_dma(struct srp_map_state *state, struct srp_rdma_ch *ch, | |||
1489 | struct scatterlist *sg; | 1488 | struct scatterlist *sg; |
1490 | int i; | 1489 | int i; |
1491 | 1490 | ||
1492 | state->desc = req->indirect_desc; | ||
1493 | for_each_sg(scat, sg, count, i) { | 1491 | for_each_sg(scat, sg, count, i) { |
1494 | srp_map_desc(state, ib_sg_dma_address(dev->dev, sg), | 1492 | srp_map_desc(state, ib_sg_dma_address(dev->dev, sg), |
1495 | ib_sg_dma_len(dev->dev, sg), | 1493 | ib_sg_dma_len(dev->dev, sg), |
@@ -1655,6 +1653,7 @@ static int srp_map_data(struct scsi_cmnd *scmnd, struct srp_rdma_ch *ch, | |||
1655 | target->indirect_size, DMA_TO_DEVICE); | 1653 | target->indirect_size, DMA_TO_DEVICE); |
1656 | 1654 | ||
1657 | memset(&state, 0, sizeof(state)); | 1655 | memset(&state, 0, sizeof(state)); |
1656 | state.desc = req->indirect_desc; | ||
1658 | if (dev->use_fast_reg) | 1657 | if (dev->use_fast_reg) |
1659 | ret = srp_map_sg_fr(&state, ch, req, scat, count); | 1658 | ret = srp_map_sg_fr(&state, ch, req, scat, count); |
1660 | else if (dev->use_fmr) | 1659 | else if (dev->use_fmr) |
@@ -3526,7 +3525,7 @@ static void srp_add_one(struct ib_device *device) | |||
3526 | int mr_page_shift, p; | 3525 | int mr_page_shift, p; |
3527 | u64 max_pages_per_mr; | 3526 | u64 max_pages_per_mr; |
3528 | 3527 | ||
3529 | srp_dev = kmalloc(sizeof *srp_dev, GFP_KERNEL); | 3528 | srp_dev = kzalloc(sizeof(*srp_dev), GFP_KERNEL); |
3530 | if (!srp_dev) | 3529 | if (!srp_dev) |
3531 | return; | 3530 | return; |
3532 | 3531 | ||
@@ -3586,8 +3585,6 @@ static void srp_add_one(struct ib_device *device) | |||
3586 | IB_ACCESS_REMOTE_WRITE); | 3585 | IB_ACCESS_REMOTE_WRITE); |
3587 | if (IS_ERR(srp_dev->global_mr)) | 3586 | if (IS_ERR(srp_dev->global_mr)) |
3588 | goto err_pd; | 3587 | goto err_pd; |
3589 | } else { | ||
3590 | srp_dev->global_mr = NULL; | ||
3591 | } | 3588 | } |
3592 | 3589 | ||
3593 | for (p = rdma_start_port(device); p <= rdma_end_port(device); ++p) { | 3590 | for (p = rdma_start_port(device); p <= rdma_end_port(device); ++p) { |