• Martin Oliveira's avatar
    powerpc/iommu: return error code from .map_sg() ops · c4e0e892
    Martin Oliveira authored
    The .map_sg() op now expects an error code instead of zero on failure.
    
    Propagate the error up if vio_dma_iommu_map_sg() fails.
    
    ppc_iommu_map_sg() may fail either because of iommu_range_alloc() or
    because of tbl->it_ops->set(). The former only supports returning an
    error with DMA_MAPPING_ERROR and an examination of the latter indicates
    that it may return arch-specific errors (for example,
    tce_buildmulti_pSeriesLP()). Hence, coalesce all of those errors into
    -EIO, per the documentation on dma_map_sgtable().
    Signed-off-by: default avatarMartin Oliveira <martin.oliveira@eideticom.com>
    Signed-off-by: default avatarLogan Gunthorpe <logang@deltatee.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Geoff Levand <geoff@infradead.org>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    c4e0e892
iommu.c 29.8 KB