summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorKeir Fraser <Keir.Fraser@cl.cam.ac.uk>2005-09-22 21:43:59 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-22 22:17:34 -0700
commit609725f87709724218047a1049913ed233f79d3c (patch)
tree7ccc4b12808b4de7d248ba7a722637f244155f26 /drivers
parent7243cc05bafdda4c4de77cba00cf87666bd237f7 (diff)
downloadlinux-stable-609725f87709724218047a1049913ed233f79d3c.tar.gz
linux-stable-609725f87709724218047a1049913ed233f79d3c.tar.bz2
linux-stable-609725f87709724218047a1049913ed233f79d3c.zip
[PATCH] Fix mmap() of /dev/hpet
The address passed to io_remap_pfn_range() in hpet_mmap() does not need to be converted using __pa(): it is already a physical address. This bug was found and the patch suggested by Clay Harris. I introduced this particular bug when making io_remap_pfn_range changes a few months ago. In fact mmap()ing /dev/hpet has *never* previously worked: before my changes __pa() was being executed on an ioremap()ed virtual address, which is also invalid. Signed-off-by: Keir Fraser <keir@xensource.com> Cc: Robert Picco <Robert.Picco@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/char/hpet.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
index de0379b6d502..c055bb630ffc 100644
--- a/drivers/char/hpet.c
+++ b/drivers/char/hpet.c
@@ -273,7 +273,6 @@ static int hpet_mmap(struct file *file, struct vm_area_struct *vma)
vma->vm_flags |= VM_IO;
vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
- addr = __pa(addr);
if (io_remap_pfn_range(vma, vma->vm_start, addr >> PAGE_SHIFT,
PAGE_SIZE, vma->vm_page_prot)) {