intel-iommu: Fix oops in device_to_iommu() when devices not found.
It's possible for a device in the drhd->devices[] array to be NULL if it wasn't found at boot time, which means we have to check for that case. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
parent
276dbf9970
commit
4958c5dc7b
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue