diff --git a/drivers/pci/intr_remapping.c b/drivers/pci/intr_remapping.c index ef25caade54b..472be1c3fff0 100644 --- a/drivers/pci/intr_remapping.c +++ b/drivers/pci/intr_remapping.c @@ -523,6 +523,13 @@ int __init enable_intr_remapping(int eim) for_each_drhd_unit(drhd) { struct intel_iommu *iommu = drhd->iommu; + /* + * If the queued invalidation is already initialized, + * shouldn't disable it. + */ + if (iommu->qi) + continue; + /* * Clear previous faults. */