|
@@ -3318,7 +3318,12 @@ static int __flush_pasid(struct protection_domain *domain, int pasid,
|
|
struct amd_iommu *iommu;
|
|
struct amd_iommu *iommu;
|
|
int qdep;
|
|
int qdep;
|
|
|
|
|
|
- BUG_ON(!dev_data->ats.enabled);
|
|
|
|
|
|
+ /*
|
|
|
|
+ There might be non-IOMMUv2 capable devices in an IOMMUv2
|
|
|
|
+ * domain.
|
|
|
|
+ */
|
|
|
|
+ if (!dev_data->ats.enabled)
|
|
|
|
+ continue;
|
|
|
|
|
|
qdep = dev_data->ats.qdep;
|
|
qdep = dev_data->ats.qdep;
|
|
iommu = amd_iommu_rlookup_table[dev_data->devid];
|
|
iommu = amd_iommu_rlookup_table[dev_data->devid];
|