Merge tag 'usb-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
[cascardo/linux.git] / drivers / xen / swiotlb-xen.c
index 3725ee4..810ad41 100644 (file)
@@ -96,8 +96,6 @@ static inline phys_addr_t xen_bus_to_phys(dma_addr_t baddr)
        dma_addr_t dma = (dma_addr_t)pfn << PAGE_SHIFT;
        phys_addr_t paddr = dma;
 
-       BUG_ON(paddr != dma); /* truncation has occurred, should never happen */
-
        paddr |= baddr & ~PAGE_MASK;
 
        return paddr;
@@ -449,7 +447,7 @@ static void xen_unmap_single(struct device *hwdev, dma_addr_t dev_addr,
 
        BUG_ON(dir == DMA_NONE);
 
-       xen_dma_unmap_page(hwdev, paddr, size, dir, attrs);
+       xen_dma_unmap_page(hwdev, dev_addr, size, dir, attrs);
 
        /* NOTE: We use dev_addr here, not paddr! */
        if (is_xen_swiotlb_buffer(dev_addr)) {
@@ -497,14 +495,14 @@ xen_swiotlb_sync_single(struct device *hwdev, dma_addr_t dev_addr,
        BUG_ON(dir == DMA_NONE);
 
        if (target == SYNC_FOR_CPU)
-               xen_dma_sync_single_for_cpu(hwdev, paddr, size, dir);
+               xen_dma_sync_single_for_cpu(hwdev, dev_addr, size, dir);
 
        /* NOTE: We use dev_addr here, not paddr! */
        if (is_xen_swiotlb_buffer(dev_addr))
                swiotlb_tbl_sync_single(hwdev, paddr, size, dir, target);
 
        if (target == SYNC_FOR_DEVICE)
-               xen_dma_sync_single_for_cpu(hwdev, paddr, size, dir);
+               xen_dma_sync_single_for_device(hwdev, dev_addr, size, dir);
 
        if (dir != DMA_FROM_DEVICE)
                return;