iommu/amd: Allow non-ATS devices in IOMMUv2 domains
With the grouping of multi-function devices a non-ATS capable device might also end up in the same domain as an IOMMUv2 capable device. So handle this situation gracefully and don't consider it a bug anymore. Tested-by: Oded Gabbay <oded.gabbay@gmail.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
5271782835
commit
1c1cc454aa
|
@ -3318,7 +3318,12 @@ static int __flush_pasid(struct protection_domain *domain, int pasid,
|
|||
struct amd_iommu *iommu;
|
||||
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;
|
||||
iommu = amd_iommu_rlookup_table[dev_data->devid];
|
||||
|
|
Loading…
Reference in New Issue