summaryrefslogtreecommitdiff
path: root/drivers/iommu/intel/iommu.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-12-06 09:32:47 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-12-06 09:32:47 +0100
commitf5bced9f34355d2b12779eebdf2634cb27c18cff (patch)
treed636906d3aeb78eecc48b6d1e5d0b44b58cd8016 /drivers/iommu/intel/iommu.c
parent13a5fad39a7b781c21d9528bcf52a5f5babafe99 (diff)
parent0fcfb00b28c0b7884635dacf38e46d60bf3d4eb1 (diff)
downloadlinux-f5bced9f34355d2b12779eebdf2634cb27c18cff.tar.gz
linux-f5bced9f34355d2b12779eebdf2634cb27c18cff.tar.bz2
linux-f5bced9f34355d2b12779eebdf2634cb27c18cff.zip
Merge 5.16-rc4 into tty-next
We need the tty/serial driver fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/iommu/intel/iommu.c')
-rw-r--r--drivers/iommu/intel/iommu.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
index 0bde0c8b4126..b6a8f3282411 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -1339,13 +1339,11 @@ static struct page *dma_pte_clear_level(struct dmar_domain *domain, int level,
pte = &pte[pfn_level_offset(pfn, level)];
do {
- unsigned long level_pfn;
+ unsigned long level_pfn = pfn & level_mask(level);
if (!dma_pte_present(pte))
goto next;
- level_pfn = pfn & level_mask(level);
-
/* If range covers entire pagetable, free it */
if (start_pfn <= level_pfn &&
last_pfn >= level_pfn + level_size(level) - 1) {
@@ -1366,7 +1364,7 @@ static struct page *dma_pte_clear_level(struct dmar_domain *domain, int level,
freelist);
}
next:
- pfn += level_size(level);
+ pfn = level_pfn + level_size(level);
} while (!first_pte_in_page(++pte) && pfn <= last_pfn);
if (first_pte)