Commit 0d2e1898 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Konrad Rzeszutek Wilk

swiotlb: Rate-limit printing when running out of SW-IOMMU space

If the system runs out of SW-IOMMU space, changes are high successive
requests will fail, too, flooding the kernel log.  This is true
especially for streaming DMA, which is typically used repeatedly outside
the driver's initialization routine.  Add rate-limiting to fix this.

While at it, get rid of the open-coded dev_name() handling by using the
appropriate dev_err_*() variant.
Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad@kernel.org>
parent c8d2bc9b
...@@ -714,8 +714,8 @@ swiotlb_full(struct device *dev, size_t size, enum dma_data_direction dir, ...@@ -714,8 +714,8 @@ swiotlb_full(struct device *dev, size_t size, enum dma_data_direction dir,
* When the mapping is small enough return a static buffer to limit * When the mapping is small enough return a static buffer to limit
* the damage, or panic when the transfer is too big. * the damage, or panic when the transfer is too big.
*/ */
printk(KERN_ERR "DMA: Out of SW-IOMMU space for %zu bytes at " dev_err_ratelimited(dev, "DMA: Out of SW-IOMMU space for %zu bytes\n",
"device %s\n", size, dev ? dev_name(dev) : "?"); size);
if (size <= io_tlb_overflow || !do_panic) if (size <= io_tlb_overflow || !do_panic)
return; return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment