aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/mm/ioremap_64.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/mm/ioremap_64.c b/arch/x86/mm/ioremap_64.c
index 2815ab60009..0a05f024dc2 100644
--- a/arch/x86/mm/ioremap_64.c
+++ b/arch/x86/mm/ioremap_64.c
@@ -41,8 +41,15 @@ ioremap_change_attr(unsigned long phys_addr, unsigned long size,
41 if (phys_addr + size - 1 < (end_pfn_map << PAGE_SHIFT)) { 41 if (phys_addr + size - 1 < (end_pfn_map << PAGE_SHIFT)) {
42 unsigned long npages = (size + PAGE_SIZE - 1) >> PAGE_SHIFT; 42 unsigned long npages = (size + PAGE_SIZE - 1) >> PAGE_SHIFT;
43 unsigned long vaddr = (unsigned long) __va(phys_addr); 43 unsigned long vaddr = (unsigned long) __va(phys_addr);
44 int level;
44 45
45 /* 46 /*
47 * If there is no identity map for this address,
48 * change_page_attr_addr is unnecessary
49 */
50 if (!lookup_address(vaddr, &level))
51 return err;
52 /*
46 * Must use a address here and not struct page because the phys addr 53 * Must use a address here and not struct page because the phys addr
47 * can be a in hole between nodes and not have an memmap entry. 54 * can be a in hole between nodes and not have an memmap entry.
48 */ 55 */