iommu/vt-d: Handle PCI bridge RMRR device scopes in intel_iommu_get_resv_regions
In the case the RMRR device scope is a PCI-PCI bridge, let's check
the device belongs to the PCI sub-hierarchy.
Fixes: 0659b8dc45
("iommu/vt-d: Implement reserved region get/put callbacks")
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
Родитель
e143fd4598
Коммит
3855ba2d83
|
@ -5426,7 +5426,8 @@ static void intel_iommu_get_resv_regions(struct device *device,
|
||||||
struct iommu_resv_region *resv;
|
struct iommu_resv_region *resv;
|
||||||
size_t length;
|
size_t length;
|
||||||
|
|
||||||
if (i_dev != device)
|
if (i_dev != device &&
|
||||||
|
!is_downstream_to_pci_bridge(device, i_dev))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
length = rmrr->end_address - rmrr->base_address + 1;
|
length = rmrr->end_address - rmrr->base_address + 1;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче