[PATCH v9 13/13] swiotlb-xen: remove BUG_ON in xen_bus_to_phys

Stefano Stabellini stefano.stabellini at eu.citrix.com
Wed Nov 12 03:40:54 PST 2014

On x86 truncation cannot occur because config XEN depends on X86_64 ||
(X86_32 && X86_PAE).

On ARM truncation can occur without CONFIG_ARM_LPAE, when the dma
operation involves foreign grants. However in that case the physical
address returned by xen_bus_to_phys is actually invalid (there is no mfn
to pfn tracking for foreign grants on ARM) and it is not used.

Signed-off-by: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Reviewed-by: Catalin Marinas <catalin.marinas at arm.com>
 drivers/xen/swiotlb-xen.c |    2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c
index 498b654..153cf14 100644
--- a/drivers/xen/swiotlb-xen.c
+++ b/drivers/xen/swiotlb-xen.c
@@ -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;

More information about the linux-arm-kernel mailing list