dma-mapping: don't return errors from dma_set_seg_boundary
authorChristoph Hellwig <hch@lst.de>
Fri, 19 Jul 2024 04:06:28 +0000 (06:06 +0200)
committerChristoph Hellwig <hch@lst.de>
Thu, 29 Aug 2024 04:22:42 +0000 (07:22 +0300)
A NULL dev->dma_parms indicates either a bus that is not DMA capable or
grave bug in the implementation of the bus code.

There isn't much the driver can do in terms of error handling for either
case, so just warn and continue as DMA operations will fail anyway.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
include/linux/dma-mapping.h

index cfd6bafec3f94487b6f0aa619a64fce0ce95215b..6bd1333dbacb9b75e834a236b481ed5554f40659 100644 (file)
@@ -559,13 +559,11 @@ static inline unsigned long dma_get_seg_boundary_nr_pages(struct device *dev,
        return (dma_get_seg_boundary(dev) >> page_shift) + 1;
 }
 
-static inline int dma_set_seg_boundary(struct device *dev, unsigned long mask)
+static inline void dma_set_seg_boundary(struct device *dev, unsigned long mask)
 {
-       if (dev->dma_parms) {
-               dev->dma_parms->segment_boundary_mask = mask;
-               return 0;
-       }
-       return -EIO;
+       if (WARN_ON_ONCE(!dev->dma_parms))
+               return;
+       dev->dma_parms->segment_boundary_mask = mask;
 }
 
 static inline unsigned int dma_get_min_align_mask(struct device *dev)