diff options
author | 2008-03-14 11:28:36 +0100 | |
---|---|---|
committer | 2008-03-24 22:33:49 -0700 | |
commit | c9698d6b1a90929e427a165bd8283f803f57d9bd (patch) | |
tree | d73c313d4fb05014ce5cf593c97d0ee44cdc5cd3 /drivers/uio | |
parent | Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/... (diff) | |
download | linux-c9698d6b1a90929e427a165bd8283f803f57d9bd.tar.gz linux-c9698d6b1a90929e427a165bd8283f803f57d9bd.tar.bz2 linux-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>
Diffstat (limited to 'drivers/uio')
-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, |