diff --git a/arch/x86/pci/i386.c b/arch/x86/pci/i386.c index 5ead808dd70c3ec34dbd34da39600851b9c30619..f234a37bd428c73aa0e8623079bfbe5e06923948 100644 --- a/arch/x86/pci/i386.c +++ b/arch/x86/pci/i386.c @@ -319,6 +319,9 @@ int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, return -EINVAL; } flags = new_flags; + vma->vm_page_prot = __pgprot( + (pgprot_val(vma->vm_page_prot) & ~_PAGE_CACHE_MASK) | + flags); } if (((vma->vm_pgoff < max_low_pfn_mapped) ||