@@ -2042,7 +1998,7 @@ static int copy_context_table(struct intel_iommu *iommu,
did = context_domain_id(&ce);
if (did >= 0 && did < cap_ndoms(iommu->cap))
- set_bit(did, iommu->domain_ids);
+ ida_alloc_range(&iommu->domain_ida, did, did + 1, GFP_KERNEL);
set_context_copied(iommu, bus, devfn);
new_ce[idx] = ce;