Even if an IOMMU might be present for some PCI segment in the system,
that doesn't necessarily mean it provides translation for the device
we care about. Replace iommu_present() with a more appropriate check.

Signed-off-by: Robin Murphy <[email protected]>
---

v2: Rebase on habanalabs-next

 drivers/misc/habanalabs/common/debugfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/misc/habanalabs/common/debugfs.c 
b/drivers/misc/habanalabs/common/debugfs.c
index 7c4a4d504e4c..a94f01713efd 100644
--- a/drivers/misc/habanalabs/common/debugfs.c
+++ b/drivers/misc/habanalabs/common/debugfs.c
@@ -722,7 +722,7 @@ static int hl_access_mem(struct hl_device *hdev, u64 addr, 
u64 *val,
        if (found)
                return 0;
 
-       if (!user_address || iommu_present(&pci_bus_type)) {
+       if (!user_address || device_iommu_mapped(&hdev->pdev->dev)) {
                rc = -EINVAL;
                goto err;
        }
-- 
2.28.0.dirty

_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to