diff options
author | Christoph Hellwig <hch@lst.de> | 2015-12-01 13:18:30 -0500 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2015-12-07 17:20:11 -0500 |
commit | fc925518aa04ee9f03c4e0cadd9c59f1ef48bcfa (patch) | |
tree | 57f2c0d0987fb4012a9c7e6de5ebf47e230ee4c3 | |
parent | 09c0c0bea500a9ad362589990ee316c9b2482f44 (diff) |
IB/srp: Initialize dma_length in srp_map_idb
Without this sg_dma_len will return 0 on architectures tha have
the dma_length field.
Fixes: commit f7f7aab1a5c0 ("IB/srp: Convert to new registration API")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
-rw-r--r-- | drivers/infiniband/ulp/srp/ib_srp.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c index c7a95d2dc164..72fac204d756 100644 --- a/drivers/infiniband/ulp/srp/ib_srp.c +++ b/drivers/infiniband/ulp/srp/ib_srp.c | |||
@@ -1524,6 +1524,9 @@ static int srp_map_idb(struct srp_rdma_ch *ch, struct srp_request *req, | |||
1524 | state.sg_nents = 1; | 1524 | state.sg_nents = 1; |
1525 | sg_set_buf(idb_sg, req->indirect_desc, idb_len); | 1525 | sg_set_buf(idb_sg, req->indirect_desc, idb_len); |
1526 | idb_sg->dma_address = req->indirect_dma_addr; /* hack! */ | 1526 | idb_sg->dma_address = req->indirect_dma_addr; /* hack! */ |
1527 | #ifdef CONFIG_NEED_SG_DMA_LENGTH | ||
1528 | idb_sg->dma_length = idb_sg->length; /* hack^2 */ | ||
1529 | #endif | ||
1527 | ret = srp_map_finish_fr(&state, ch); | 1530 | ret = srp_map_finish_fr(&state, ch); |
1528 | if (ret < 0) | 1531 | if (ret < 0) |
1529 | return ret; | 1532 | return ret; |