Commit 453d9f72 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Paul Mackerras

[POWERPC] spufs: Return correct event for data storage interrupt

When we attempt an MFC DMA to an unmapped address, the event
returned from spu_run should be SPE_EVENT_SPE_DATA_STORAGE,
not SPE_EVENT_INVALID_DMA.
Signed-off-by: default avatarArnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 0021550c
...@@ -507,7 +507,7 @@ int spu_irq_class_1_bottom(struct spu *spu) ...@@ -507,7 +507,7 @@ int spu_irq_class_1_bottom(struct spu *spu)
if (!error) { if (!error) {
spu_restart_dma(spu); spu_restart_dma(spu);
} else { } else {
__spu_trap_invalid_dma(spu); spu->dma_callback(spu, SPE_EVENT_SPE_DATA_STORAGE);
} }
return ret; return ret;
} }
......
...@@ -26,6 +26,7 @@ void spufs_dma_callback(struct spu *spu, int type) ...@@ -26,6 +26,7 @@ void spufs_dma_callback(struct spu *spu, int type)
} else { } else {
switch (type) { switch (type) {
case SPE_EVENT_DMA_ALIGNMENT: case SPE_EVENT_DMA_ALIGNMENT:
case SPE_EVENT_SPE_DATA_STORAGE:
case SPE_EVENT_INVALID_DMA: case SPE_EVENT_INVALID_DMA:
force_sig(SIGBUS, /* info, */ current); force_sig(SIGBUS, /* info, */ current);
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment