|
@@ -828,7 +828,7 @@ static int __init early_amd_iommu_detect(struct acpi_table_header *table)
|
|
|
|
|
|
void __init amd_iommu_detect(void)
|
|
void __init amd_iommu_detect(void)
|
|
{
|
|
{
|
|
- if (swiotlb || no_iommu || iommu_detected)
|
|
|
|
|
|
+ if (swiotlb || no_iommu || (iommu_detected && !gart_iommu_aperture))
|
|
return;
|
|
return;
|
|
|
|
|
|
if (acpi_table_parse("IVRS", early_amd_iommu_detect) == 0) {
|
|
if (acpi_table_parse("IVRS", early_amd_iommu_detect) == 0) {
|