|
@@ -410,8 +410,11 @@ long spufs_run_spu(struct spu_context *ctx, u32 *npc, u32 *event)
|
|
|
* since we have TIF_SINGLESTEP set, thus the kernel will do
|
|
|
* it upon return from the syscall anyawy
|
|
|
*/
|
|
|
- if ((status & SPU_STATUS_STOPPED_BY_STOP)
|
|
|
- && (status >> SPU_STOP_STATUS_SHIFT) == 0x3fff) {
|
|
|
+ if (unlikely(status & SPU_STATUS_SINGLE_STEP))
|
|
|
+ ret = -ERESTARTSYS;
|
|
|
+
|
|
|
+ else if (unlikely((status & SPU_STATUS_STOPPED_BY_STOP)
|
|
|
+ && (status >> SPU_STOP_STATUS_SHIFT) == 0x3fff)) {
|
|
|
force_sig(SIGTRAP, current);
|
|
|
ret = -ERESTARTSYS;
|
|
|
}
|