Merge branch 'stable/for-linus-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb

Pull swiotlb fix from Konrad Rzeszutek Wilk:
"An ARM fix in the Xen SWIOTLB - mainly the translation of physical to
bus addresses was done just a tad too late"

* 'stable/for-linus-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb:
swiotlb-xen: update dev_addr after swapping pages

+3 -2
+3 -2
drivers/xen/swiotlb-xen.c
··· 414 if (map == SWIOTLB_MAP_ERROR) 415 return DMA_ERROR_CODE; 416 417 xen_dma_map_page(dev, pfn_to_page(map >> PAGE_SHIFT), 418 dev_addr, map & ~PAGE_MASK, size, dir, attrs); 419 - dev_addr = xen_phys_to_bus(map); 420 421 /* 422 * Ensure that the address returned is DMA'ble ··· 575 sg_dma_len(sgl) = 0; 576 return 0; 577 } 578 xen_dma_map_page(hwdev, pfn_to_page(map >> PAGE_SHIFT), 579 dev_addr, 580 map & ~PAGE_MASK, 581 sg->length, 582 dir, 583 attrs); 584 - sg->dma_address = xen_phys_to_bus(map); 585 } else { 586 /* we are not interested in the dma_addr returned by 587 * xen_dma_map_page, only in the potential cache flushes executed
··· 414 if (map == SWIOTLB_MAP_ERROR) 415 return DMA_ERROR_CODE; 416 417 + dev_addr = xen_phys_to_bus(map); 418 xen_dma_map_page(dev, pfn_to_page(map >> PAGE_SHIFT), 419 dev_addr, map & ~PAGE_MASK, size, dir, attrs); 420 421 /* 422 * Ensure that the address returned is DMA'ble ··· 575 sg_dma_len(sgl) = 0; 576 return 0; 577 } 578 + dev_addr = xen_phys_to_bus(map); 579 xen_dma_map_page(hwdev, pfn_to_page(map >> PAGE_SHIFT), 580 dev_addr, 581 map & ~PAGE_MASK, 582 sg->length, 583 dir, 584 attrs); 585 + sg->dma_address = dev_addr; 586 } else { 587 /* we are not interested in the dma_addr returned by 588 * xen_dma_map_page, only in the potential cache flushes executed