diff options
author | Jean-Samuel Chenard <jsamch@gmail.com> | 2008-03-14 11:28:36 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-03-24 22:33:49 -0700 |
commit | c9698d6b1a90929e427a165bd8283f803f57d9bd (patch) | |
tree | d73c313d4fb05014ce5cf593c97d0ee44cdc5cd3 | |
parent | 7c12c92fba4bd985ed6d909e5537468b268dcaa4 (diff) | |
download | lwn-c9698d6b1a90929e427a165bd8283f803f57d9bd.tar.gz lwn-c9698d6b1a90929e427a165bd8283f803f57d9bd.zip |
UIO: add pgprot_noncached() to UIO mmap code
Mapping of physical memory in UIO needs pgprot_noncached() to ensure
that IO memory is not cached. Without pgprot_noncached(), it (accidentally)
works on x86 and arm, but fails on PPC.
Signed-off-by: Jean-Samuel Chenard <jsamch@gmail.com>
Signed-off-by: Hans J Koch <hjk@linutronix.de>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/uio/uio.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/uio/uio.c b/drivers/uio/uio.c index e8a01f264540..11759080ca54 100644 --- a/drivers/uio/uio.c +++ b/drivers/uio/uio.c @@ -470,6 +470,8 @@ static int uio_mmap_physical(struct vm_area_struct *vma) vma->vm_flags |= VM_IO | VM_RESERVED; + vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); + return remap_pfn_range(vma, vma->vm_start, idev->info->mem[mi].addr >> PAGE_SHIFT, |