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

Reply via email to