Commit 97cb1fa0 authored by Robin Murphy's avatar Robin Murphy Committed by Will Deacon
Browse files

iommu/arm-smmu: Retire probe deferral workaround



This reverts commit 229e6ee4.

Now that the fundamental ordering issue between arm_smmu_get_by_fwnode()
and iommu_device_register() is resolved, the race condition for client
probe no longer exists either, so retire the specific workaround.

Signed-off-by: default avatarRobin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/4167c5dfa052d4c8bb780f0a30af63dcfc4ce6c1.1733406914.git.robin.murphy@arm.com


Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent 7d835134
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -1437,17 +1437,6 @@ static struct iommu_device *arm_smmu_probe_device(struct device *dev)
			goto out_free;
	} else {
		smmu = arm_smmu_get_by_fwnode(fwspec->iommu_fwnode);

		/*
		 * Defer probe if the relevant SMMU instance hasn't finished
		 * probing yet. This is a fragile hack and we'd ideally
		 * avoid this race in the core code. Until that's ironed
		 * out, however, this is the most pragmatic option on the
		 * table.
		 */
		if (!smmu)
			return ERR_PTR(dev_err_probe(dev, -EPROBE_DEFER,
						"smmu dev has not bound yet\n"));
	}

	ret = -EINVAL;