Merge tag 'for-5.15/parisc' of git://git.kernel.org/pub/scm/linux/kernel/git/deller...
[linux-2.6-microblaze.git] / arch / sparc / kernel / pci_sun4v.c
index 9de57e8..3844809 100644 (file)
@@ -486,7 +486,7 @@ static int dma_4v_map_sg(struct device *dev, struct scatterlist *sglist,
 
        iommu = dev->archdata.iommu;
        if (nelems == 0 || !iommu)
-               return 0;
+               return -EINVAL;
        atu = iommu->atu;
 
        prot = HV_PCI_MAP_ATTR_READ;
@@ -594,7 +594,6 @@ static int dma_4v_map_sg(struct device *dev, struct scatterlist *sglist,
 
        if (outcount < incount) {
                outs = sg_next(outs);
-               outs->dma_address = DMA_MAPPING_ERROR;
                outs->dma_length = 0;
        }
 
@@ -611,7 +610,6 @@ iommu_map_failed:
                        iommu_tbl_range_free(tbl, vaddr, npages,
                                             IOMMU_ERROR_CODE);
                        /* XXX demap? XXX */
-                       s->dma_address = DMA_MAPPING_ERROR;
                        s->dma_length = 0;
                }
                if (s == outs)
@@ -619,7 +617,7 @@ iommu_map_failed:
        }
        local_irq_restore(flags);
 
-       return 0;
+       return -EINVAL;
 }
 
 static void dma_4v_unmap_sg(struct device *dev, struct scatterlist *sglist,