diff options
author | Stefano Stabellini <stefano.stabellini@eu.citrix.com> | 2014-11-21 06:09:39 -0500 |
---|---|---|
committer | David Vrabel <david.vrabel@citrix.com> | 2014-12-04 07:41:55 -0500 |
commit | d6883e6f32e07ef2cc974753ba00927de099e6d7 (patch) | |
tree | 37e45c5db85c9755bc0e826a42cb3f407aef294f | |
parent | da095a996090a412c3b6292c7a8680661dca157d (diff) |
swiotlb-xen: pass dev_addr to xen_dma_unmap_page and xen_dma_sync_single_for_cpu
xen_dma_unmap_page and xen_dma_sync_single_for_cpu take a dma_addr_t
handle as argument, not a physical address.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: stable@vger.kernel.org
-rw-r--r-- | drivers/xen/swiotlb-xen.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c index 3725ee4ff43c..498b6544fd62 100644 --- a/drivers/xen/swiotlb-xen.c +++ b/drivers/xen/swiotlb-xen.c | |||
@@ -449,7 +449,7 @@ static void xen_unmap_single(struct device *hwdev, dma_addr_t dev_addr, | |||
449 | 449 | ||
450 | BUG_ON(dir == DMA_NONE); | 450 | BUG_ON(dir == DMA_NONE); |
451 | 451 | ||
452 | xen_dma_unmap_page(hwdev, paddr, size, dir, attrs); | 452 | xen_dma_unmap_page(hwdev, dev_addr, size, dir, attrs); |
453 | 453 | ||
454 | /* NOTE: We use dev_addr here, not paddr! */ | 454 | /* NOTE: We use dev_addr here, not paddr! */ |
455 | if (is_xen_swiotlb_buffer(dev_addr)) { | 455 | if (is_xen_swiotlb_buffer(dev_addr)) { |
@@ -497,14 +497,14 @@ xen_swiotlb_sync_single(struct device *hwdev, dma_addr_t dev_addr, | |||
497 | BUG_ON(dir == DMA_NONE); | 497 | BUG_ON(dir == DMA_NONE); |
498 | 498 | ||
499 | if (target == SYNC_FOR_CPU) | 499 | if (target == SYNC_FOR_CPU) |
500 | xen_dma_sync_single_for_cpu(hwdev, paddr, size, dir); | 500 | xen_dma_sync_single_for_cpu(hwdev, dev_addr, size, dir); |
501 | 501 | ||
502 | /* NOTE: We use dev_addr here, not paddr! */ | 502 | /* NOTE: We use dev_addr here, not paddr! */ |
503 | if (is_xen_swiotlb_buffer(dev_addr)) | 503 | if (is_xen_swiotlb_buffer(dev_addr)) |
504 | swiotlb_tbl_sync_single(hwdev, paddr, size, dir, target); | 504 | swiotlb_tbl_sync_single(hwdev, paddr, size, dir, target); |
505 | 505 | ||
506 | if (target == SYNC_FOR_DEVICE) | 506 | if (target == SYNC_FOR_DEVICE) |
507 | xen_dma_sync_single_for_cpu(hwdev, paddr, size, dir); | 507 | xen_dma_sync_single_for_cpu(hwdev, dev_addr, size, dir); |
508 | 508 | ||
509 | if (dir != DMA_FROM_DEVICE) | 509 | if (dir != DMA_FROM_DEVICE) |
510 | return; | 510 | return; |