On Tue, Feb 04, 2020 at 07:32:05AM +0100, Christoph Hellwig wrote: > Remove the unset dma_mask case as that won't get into mapping calls > anymore, and also report the other errors unconditonally and with a > slightly improved message. Remove the now pointless report_addr helper. > > Signed-off-by: Christoph Hellwig <[email protected]>
Reviewed-by: Konrad Rzeszutek Wilk <[email protected]> > --- > kernel/dma/direct.c | 22 ++++++++-------------- > 1 file changed, 8 insertions(+), 14 deletions(-) > > diff --git a/kernel/dma/direct.c b/kernel/dma/direct.c > index 82ad50aaf42c..04f308a47fc3 100644 > --- a/kernel/dma/direct.c > +++ b/kernel/dma/direct.c > @@ -23,18 +23,6 @@ > */ > unsigned int zone_dma_bits __ro_after_init = 24; > > -static void report_addr(struct device *dev, dma_addr_t dma_addr, size_t size) > -{ > - if (!dev->dma_mask) { > - dev_err_once(dev, "DMA map on device without dma_mask\n"); > - } else if (*dev->dma_mask >= DMA_BIT_MASK(32) || dev->bus_dma_limit) { > - dev_err_once(dev, > - "overflow %pad+%zu of DMA mask %llx bus limit %llx\n", > - &dma_addr, size, *dev->dma_mask, dev->bus_dma_limit); > - } > - WARN_ON_ONCE(1); > -} > - > static inline dma_addr_t phys_to_dma_direct(struct device *dev, > phys_addr_t phys) > { > @@ -371,7 +359,10 @@ dma_addr_t dma_direct_map_page(struct device *dev, > struct page *page, > if (swiotlb_force != SWIOTLB_NO_FORCE) > return swiotlb_map(dev, phys, size, dir, attrs); > > - report_addr(dev, dma_addr, size); > + dev_err_once(dev, > + "DMA addr %pad+%zu overflow (mask %llx, bus limit > %llx).\n", > + &dma_addr, size, *dev->dma_mask, > dev->bus_dma_limit); > + WARN_ON_ONCE(1); > return DMA_MAPPING_ERROR; > } > > @@ -409,7 +400,10 @@ dma_addr_t dma_direct_map_resource(struct device *dev, > phys_addr_t paddr, > dma_addr_t dma_addr = paddr; > > if (unlikely(!dma_capable(dev, dma_addr, size, false))) { > - report_addr(dev, dma_addr, size); > + dev_err_once(dev, > + "DMA addr %pad+%zu overflow (mask %llx, bus limit > %llx).\n", > + &dma_addr, size, *dev->dma_mask, > dev->bus_dma_limit); > + WARN_ON_ONCE(1); > return DMA_MAPPING_ERROR; > } > > -- > 2.24.1 > _______________________________________________ iommu mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/iommu
