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