From: Martin Oliveira Date: Thu, 29 Jul 2021 20:15:35 +0000 (-0600) Subject: xen: swiotlb: return error code from xen_swiotlb_map_sg() X-Git-Tag: v5.15-rc1~124^2~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2c647ebe17140f1f5de09d4e30817b1b00a3b588;p=thirdparty%2Fkernel%2Flinux.git xen: swiotlb: return error code from xen_swiotlb_map_sg() The .map_sg() op now expects an error code instead of zero on failure. xen_swiotlb_map_sg() may only fail if xen_swiotlb_map_page() fails, but xen_swiotlb_map_page() only supports returning errors as DMA_MAPPING_ERROR. So coalesce all errors into EIO per the documentation for dma_map_sgtable(). Signed-off-by: Martin Oliveira Signed-off-by: Logan Gunthorpe Reviewed-by: Boris Ostrovsky Cc: Konrad Rzeszutek Wilk Cc: Juergen Gross Cc: Stefano Stabellini Signed-off-by: Christoph Hellwig --- diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c index 24d11861ac7d8..85d58b720a247 100644 --- a/drivers/xen/swiotlb-xen.c +++ b/drivers/xen/swiotlb-xen.c @@ -509,7 +509,7 @@ xen_swiotlb_map_sg(struct device *dev, struct scatterlist *sgl, int nelems, out_unmap: xen_swiotlb_unmap_sg(dev, sgl, i, dir, attrs | DMA_ATTR_SKIP_CPU_SYNC); sg_dma_len(sgl) = 0; - return 0; + return -EIO; } static void