diff options
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/file.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/file.c b/arch/powerpc/platforms/cell/spufs/file.c index 64f8b0a9b9e..514a1d50803 100644 --- a/arch/powerpc/platforms/cell/spufs/file.c +++ b/arch/powerpc/platforms/cell/spufs/file.c | |||
@@ -102,12 +102,16 @@ spufs_mem_mmap_nopage(struct vm_area_struct *vma, | |||
102 | 102 | ||
103 | spu_acquire(ctx); | 103 | spu_acquire(ctx); |
104 | 104 | ||
105 | if (ctx->state == SPU_STATE_SAVED) | 105 | if (ctx->state == SPU_STATE_SAVED) { |
106 | vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_page_prot) | ||
107 | & ~(_PAGE_NO_CACHE | _PAGE_GUARDED)); | ||
106 | page = vmalloc_to_page(ctx->csa.lscsa->ls + offset); | 108 | page = vmalloc_to_page(ctx->csa.lscsa->ls + offset); |
107 | else | 109 | } else { |
110 | vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_page_prot) | ||
111 | | _PAGE_NO_CACHE | _PAGE_GUARDED); | ||
108 | page = pfn_to_page((ctx->spu->local_store_phys + offset) | 112 | page = pfn_to_page((ctx->spu->local_store_phys + offset) |
109 | >> PAGE_SHIFT); | 113 | >> PAGE_SHIFT); |
110 | 114 | } | |
111 | spu_release(ctx); | 115 | spu_release(ctx); |
112 | 116 | ||
113 | if (type) | 117 | if (type) |