This fixes OFED bug 1895, althoug some warnings are still generated,
when running qperf sdp_bw with large sizes (using zcopy), on the
truescale adapters.
Signed-off-by: Dave Olson <dave.olson@qlogic.com>
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
{
struct ib_pool_fmr *fmr;
struct ib_umem *umem;
+ struct ib_device *dev;
u64 *pages;
struct ib_umem_chunk *chunk;
int n, j, k;
n = 0;
+ dev = sdp_sk(sk)->ib_device;
list_for_each_entry(chunk, &umem->chunk_list, list) {
for (j = 0; j < chunk->nmap; ++j) {
- len = sg_dma_len(&chunk->page_list[j]) >> PAGE_SHIFT;
+ len = ib_sg_dma_len(dev,
+ &chunk->page_list[j]) >> PAGE_SHIFT;
+
for (k = 0; k < len; ++k) {
- pages[n++] = sg_dma_address(&chunk->page_list[j]) +
+ pages[n++] = ib_sg_dma_address(dev,
+ &chunk->page_list[j]) +
umem->page_size * k;
+
}
}
}