diff options
author | Arnd Bergmann <arnd@arndb.de> | 2005-12-05 22:52:22 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-01-09 14:52:45 +1100 |
commit | d88cfffac0002c56c1a7a813cb885fa6b5fdcd0e (patch) | |
tree | 13e4e65d3275a275913b14b12b49dbe987789334 /arch/powerpc/platforms/cell/spufs/file.c | |
parent | 39c73c332c8264c0a3a1ce58aa3eae52d17af025 (diff) | |
download | op-kernel-dev-d88cfffac0002c56c1a7a813cb885fa6b5fdcd0e.zip op-kernel-dev-d88cfffac0002c56c1a7a813cb885fa6b5fdcd0e.tar.gz |
[PATCH] spufs: fix local store page refcounting
With the new rules for reserved pages, the spufs now
needs working page reference counting.
I should probably look into converting to vm_insert_page,
but for now this patch makes spufs work again.
Signed-off-by: Arnd Bergmann <arndb@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/cell/spufs/file.c')
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/file.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/file.c b/arch/powerpc/platforms/cell/spufs/file.c index 786fdb1..0fe1fec 100644 --- a/arch/powerpc/platforms/cell/spufs/file.c +++ b/arch/powerpc/platforms/cell/spufs/file.c @@ -23,6 +23,7 @@ #include <linux/fs.h> #include <linux/ioctl.h> #include <linux/module.h> +#include <linux/pagemap.h> #include <linux/poll.h> #include <asm/io.h> @@ -106,6 +107,7 @@ spufs_mem_mmap_nopage(struct vm_area_struct *vma, if (type) *type = VM_FAULT_MINOR; + page_cache_get(page); return page; } @@ -120,7 +122,6 @@ spufs_mem_mmap(struct file *file, struct vm_area_struct *vma) return -EINVAL; /* FIXME: */ - vma->vm_flags |= VM_RESERVED; vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_page_prot) | _PAGE_NO_CACHE); |