Message ID | e88b94c9b575034a2c98a48b3d383654cbda7902.1740753261.git.robin.murphy@arm.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | iommu: Fix the longstanding probe issues | expand |
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c index 4fca10d107c8..179617bb412d 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -3107,6 +3107,11 @@ int iommu_device_use_default_domain(struct device *dev) return 0; mutex_lock(&group->mutex); + /* We may race against bus_iommu_probe() finalising groups here */ + if (!group->default_domain) { + ret = -EPROBE_DEFER; + goto unlock_out; + } if (group->owner_cnt) { if (group->domain != group->default_domain || group->owner || !xa_empty(&group->pasid_array)) {