Print a useful warning instead.
Reported-by: Finn Thain <[email protected]>
Signed-off-by: Christoph Hellwig <[email protected]>
---
lib/dma-direct.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/lib/dma-direct.c b/lib/dma-direct.c
index a48f94eff62e..8be8106270c2 100644
--- a/lib/dma-direct.c
+++ b/lib/dma-direct.c
@@ -34,6 +34,13 @@ check_addr(struct device *dev, dma_addr_t dma_addr, size_t
size,
const char *caller)
{
if (unlikely(dev && !dma_capable(dev, dma_addr, size))) {
+ if (!dev->dma_mask) {
+ dev_err(dev,
+ "%s: call on device without dma_mask\n",
+ caller);
+ return false;
+ }
+
if (*dev->dma_mask >= DMA_BIT_MASK(32)) {
dev_err(dev,
"%s: overflow %pad+%zu of device mask %llx\n",
--
2.17.0
_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu