intel-iommu: Cope with yet another BIOS screwup causing crashes
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
parent
94a91b5051
commit
2ff729f544
|
@ -1975,6 +1975,17 @@ static int iommu_prepare_identity_map(struct pci_dev *pdev,
|
|||
"IOMMU: Setting identity map for device %s [0x%Lx - 0x%Lx]\n",
|
||||
pci_name(pdev), start, end);
|
||||
|
||||
if (end >> agaw_to_width(domain->agaw)) {
|
||||
WARN(1, "Your BIOS is broken; RMRR exceeds permitted address width (%d bits)\n"
|
||||
"BIOS vendor: %s; Ver: %s; Product Version: %s\n",
|
||||
agaw_to_width(domain->agaw),
|
||||
dmi_get_system_info(DMI_BIOS_VENDOR),
|
||||
dmi_get_system_info(DMI_BIOS_VERSION),
|
||||
dmi_get_system_info(DMI_PRODUCT_VERSION));
|
||||
ret = -EIO;
|
||||
goto error;
|
||||
}
|
||||
|
||||
ret = iommu_domain_identity_map(domain, start, end);
|
||||
if (ret)
|
||||
goto error;
|
||||
|
|
Loading…
Reference in a new issue