diff options
Diffstat (limited to 'drivers/infiniband/ulp/iser/iser_memory.c')
-rw-r--r-- | drivers/infiniband/ulp/iser/iser_memory.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/infiniband/ulp/iser/iser_memory.c b/drivers/infiniband/ulp/iser/iser_memory.c index abce9339333f..341040bf0984 100644 --- a/drivers/infiniband/ulp/iser/iser_memory.c +++ b/drivers/infiniband/ulp/iser/iser_memory.c | |||
@@ -332,12 +332,13 @@ int iser_dma_map_task_data(struct iscsi_iser_task *iser_task, | |||
332 | } | 332 | } |
333 | 333 | ||
334 | void iser_dma_unmap_task_data(struct iscsi_iser_task *iser_task, | 334 | void iser_dma_unmap_task_data(struct iscsi_iser_task *iser_task, |
335 | struct iser_data_buf *data) | 335 | struct iser_data_buf *data, |
336 | enum dma_data_direction dir) | ||
336 | { | 337 | { |
337 | struct ib_device *dev; | 338 | struct ib_device *dev; |
338 | 339 | ||
339 | dev = iser_task->iser_conn->ib_conn.device->ib_device; | 340 | dev = iser_task->iser_conn->ib_conn.device->ib_device; |
340 | ib_dma_unmap_sg(dev, data->buf, data->size, DMA_FROM_DEVICE); | 341 | ib_dma_unmap_sg(dev, data->buf, data->size, dir); |
341 | } | 342 | } |
342 | 343 | ||
343 | static int fall_to_bounce_buf(struct iscsi_iser_task *iser_task, | 344 | static int fall_to_bounce_buf(struct iscsi_iser_task *iser_task, |
@@ -357,7 +358,9 @@ static int fall_to_bounce_buf(struct iscsi_iser_task *iser_task, | |||
357 | iser_data_buf_dump(mem, ibdev); | 358 | iser_data_buf_dump(mem, ibdev); |
358 | 359 | ||
359 | /* unmap the command data before accessing it */ | 360 | /* unmap the command data before accessing it */ |
360 | iser_dma_unmap_task_data(iser_task, mem); | 361 | iser_dma_unmap_task_data(iser_task, mem, |
362 | (cmd_dir == ISER_DIR_OUT) ? | ||
363 | DMA_TO_DEVICE : DMA_FROM_DEVICE); | ||
361 | 364 | ||
362 | /* allocate copy buf, if we are writing, copy the */ | 365 | /* allocate copy buf, if we are writing, copy the */ |
363 | /* unaligned scatterlist, dma map the copy */ | 366 | /* unaligned scatterlist, dma map the copy */ |