diff options
Diffstat (limited to 'drivers/iommu/intel-iommu.c')
-rw-r--r-- | drivers/iommu/intel-iommu.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c index 2297ec193eb4..cb9e1146b02f 100644 --- a/drivers/iommu/intel-iommu.c +++ b/drivers/iommu/intel-iommu.c | |||
@@ -589,7 +589,9 @@ static void domain_update_iommu_coherency(struct dmar_domain *domain) | |||
589 | { | 589 | { |
590 | int i; | 590 | int i; |
591 | 591 | ||
592 | domain->iommu_coherency = 1; | 592 | i = find_first_bit(domain->iommu_bmp, g_num_of_iommus); |
593 | |||
594 | domain->iommu_coherency = i < g_num_of_iommus ? 1 : 0; | ||
593 | 595 | ||
594 | for_each_set_bit(i, domain->iommu_bmp, g_num_of_iommus) { | 596 | for_each_set_bit(i, domain->iommu_bmp, g_num_of_iommus) { |
595 | if (!ecap_coherent(g_iommus[i]->ecap)) { | 597 | if (!ecap_coherent(g_iommus[i]->ecap)) { |