diff options
Diffstat (limited to 'arch/powerpc/platforms/cell/spufs/fault.c')
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/fault.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/fault.c b/arch/powerpc/platforms/cell/spufs/fault.c index 825001c2b09..eff4d291ba8 100644 --- a/arch/powerpc/platforms/cell/spufs/fault.c +++ b/arch/powerpc/platforms/cell/spufs/fault.c @@ -53,9 +53,10 @@ static void spufs_handle_event(struct spu_context *ctx, info.si_code = BUS_OBJERR; break; case SPE_EVENT_SPE_DATA_STORAGE: - info.si_signo = SIGBUS; + info.si_signo = SIGSEGV; info.si_addr = (void __user *)ea; - info.si_code = BUS_ADRERR; + info.si_code = SEGV_ACCERR; + ctx->ops->restart_dma(ctx); break; case SPE_EVENT_DMA_ALIGNMENT: info.si_signo = SIGBUS; |