aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/cell/spufs/fault.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/platforms/cell/spufs/fault.c')
-rw-r--r--arch/powerpc/platforms/cell/spufs/fault.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/fault.c b/arch/powerpc/platforms/cell/spufs/fault.c
index 971ac43b5d60..6634c0c5ed9e 100644
--- a/arch/powerpc/platforms/cell/spufs/fault.c
+++ b/arch/powerpc/platforms/cell/spufs/fault.c
@@ -44,22 +44,21 @@ static void spufs_handle_event(struct spu_context *ctx,
44 44
45 switch (type) { 45 switch (type) {
46 case SPE_EVENT_INVALID_DMA: 46 case SPE_EVENT_INVALID_DMA:
47 force_sig_fault(SIGBUS, BUS_OBJERR, NULL, current); 47 force_sig_fault(SIGBUS, BUS_OBJERR, NULL);
48 break; 48 break;
49 case SPE_EVENT_SPE_DATA_STORAGE: 49 case SPE_EVENT_SPE_DATA_STORAGE:
50 ctx->ops->restart_dma(ctx); 50 ctx->ops->restart_dma(ctx);
51 force_sig_fault(SIGSEGV, SEGV_ACCERR, (void __user *)ea, 51 force_sig_fault(SIGSEGV, SEGV_ACCERR, (void __user *)ea);
52 current);
53 break; 52 break;
54 case SPE_EVENT_DMA_ALIGNMENT: 53 case SPE_EVENT_DMA_ALIGNMENT:
55 /* DAR isn't set for an alignment fault :( */ 54 /* DAR isn't set for an alignment fault :( */
56 force_sig_fault(SIGBUS, BUS_ADRALN, NULL, current); 55 force_sig_fault(SIGBUS, BUS_ADRALN, NULL);
57 break; 56 break;
58 case SPE_EVENT_SPE_ERROR: 57 case SPE_EVENT_SPE_ERROR:
59 force_sig_fault( 58 force_sig_fault(
60 SIGILL, ILL_ILLOPC, 59 SIGILL, ILL_ILLOPC,
61 (void __user *)(unsigned long) 60 (void __user *)(unsigned long)
62 ctx->ops->npc_read(ctx) - 4, current); 61 ctx->ops->npc_read(ctx) - 4);
63 break; 62 break;
64 } 63 }
65} 64}