sparc/iommu: don't set failed sg dma_address to DMA_MAPPING_ERROR
authorLogan Gunthorpe <logang@deltatee.com>
Thu, 29 Jul 2021 20:15:33 +0000 (14:15 -0600)
committerChristoph Hellwig <hch@lst.de>
Mon, 9 Aug 2021 15:13:06 +0000 (17:13 +0200)
Setting the ->dma_address to DMA_MAPPING_ERROR is not part of
the ->map_sg calling convention, so remove it.

Link: https://lore.kernel.org/linux-mips/20210716063241.GC13345@lst.de/
Suggested-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Niklas Schnelle <schnelle@linux.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Christoph Hellwig <hch@lst.de>
arch/sparc/kernel/iommu.c
arch/sparc/kernel/pci_sun4v.c

index 0589acd342018bf2d186fe777c8e96b149353b9a..da0363692528373f70bc8c1289686220a899fe87 100644 (file)
@@ -546,7 +546,6 @@ static int dma_4u_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;
        }
 
@@ -572,7 +571,6 @@ iommu_map_failed:
                        iommu_tbl_range_free(&iommu->tbl, vaddr, npages,
                                             IOMMU_ERROR_CODE);
 
-                       s->dma_address = DMA_MAPPING_ERROR;
                        s->dma_length = 0;
                }
                if (s == outs)
index d90e80fa5705845dd1de552b7b60e6a72adbc408..38448097180523b24c3f4b1582c6ee3497abac19 100644 (file)
@@ -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)