diff options
author | Paul Mackerras <paulus@samba.org> | 2007-02-14 00:33:39 (GMT) |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-02-14 00:33:39 (GMT) |
commit | 944b380e0c3dead0e16a747dfd3ce2765afac16d (patch) | |
tree | d1016c273ebac0b4c02d851a854d9a789df632b5 /arch/powerpc/platforms/cell/spufs/file.c | |
parent | fff5f52808be01d16bb7c8b82580155ff19e16b0 (diff) | |
parent | c7eb734766217b9ddac217cbccae3aedcfa67520 (diff) | |
download | linux-fsl-qoriq-944b380e0c3dead0e16a747dfd3ce2765afac16d.tar.xz |
Merge branch 'cell-merge' of git+ssh://master.kernel.org/pub/scm/linux/kernel/git/arnd/cell-2.6
Diffstat (limited to 'arch/powerpc/platforms/cell/spufs/file.c')
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/file.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/file.c b/arch/powerpc/platforms/cell/spufs/file.c index a528020..b00653d 100644 --- a/arch/powerpc/platforms/cell/spufs/file.c +++ b/arch/powerpc/platforms/cell/spufs/file.c @@ -103,6 +103,9 @@ static unsigned long spufs_mem_mmap_nopfn(struct vm_area_struct *vma, offset += vma->vm_pgoff << PAGE_SHIFT; + if (offset >= LS_SIZE) + return NOPFN_SIGBUS; + spu_acquire(ctx); if (ctx->state == SPU_STATE_SAVED) { @@ -164,7 +167,7 @@ static unsigned long spufs_ps_nopfn(struct vm_area_struct *vma, /* error here usually means a signal.. we might want to test * the error code more precisely though */ - ret = spu_acquire_runnable(ctx); + ret = spu_acquire_runnable(ctx, 0); if (ret) return NOPFN_REFAULT; @@ -1306,7 +1309,7 @@ static ssize_t spufs_mfc_write(struct file *file, const char __user *buffer, if (ret) goto out; - spu_acquire_runnable(ctx); + spu_acquire_runnable(ctx, 0); if (file->f_flags & O_NONBLOCK) { ret = ctx->ops->send_mfc_command(ctx, &cmd); } else { |