|
@@ -485,7 +485,8 @@ static struct intel_iommu *device_to_iommu(int segment, u8 bus, u8 devfn)
|
|
|
drhd->devices[i]->bus->number == bus &&
|
|
|
drhd->devices[i]->devfn == devfn)
|
|
|
return drhd->iommu;
|
|
|
- if (drhd->devices[i]->subordinate &&
|
|
|
+ if (drhd->devices[i] &&
|
|
|
+ drhd->devices[i]->subordinate &&
|
|
|
drhd->devices[i]->subordinate->number <= bus &&
|
|
|
drhd->devices[i]->subordinate->subordinate >= bus)
|
|
|
return drhd->iommu;
|