Recently we found the master of SMMU retries to probe endlessly. [ 3.658956] pci 0000:00:00.0: Retrying from deferred list [ 3.658969] pci 0000:00:00.0: Added to deferred list [ 3.658987] pci 0004:00:00.0: Retrying from deferred list [ 3.658994] pci 0004:00:00.0: Added to deferred list [ 3.659003] pci 0005:00:00.0: Retrying from deferred list [ 3.659010] pci 0005:00:00.0: Added to deferred list [ 3.659019] pci 0004:01:00.0: Retrying from deferred list [ 3.659029] pci 0004:01:00.0: Added to deferred list The retrying should only happen when the IOMMU instance hasn't been probed yet. However, dma_configure() simply return -EPROBE_DEFER when failed to get an IOMMU instance even if the IOMMU instance is failed to probe. This patchset tries to fix the issue by distinguishing probe failures and haven't-been-probed-yet state. Wang Dongsheng (2): driver core: add new dl device status DL_DEV_PROBE_FAILED ACPI/IORT: use swiotlb_dma_ops when smmu probe failed Documentation/driver-api/device_link.rst | 2 +- drivers/acpi/arm64/iort.c | 39 +++++++++++++++++++++++++++----- drivers/base/base.h | 2 +- drivers/base/core.c | 22 ++++++++++++++++-- drivers/base/dd.c | 2 +- include/linux/device.h | 1 + 6 files changed, 57 insertions(+), 11 deletions(-) -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html