diff options
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/run.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/run.c b/arch/powerpc/platforms/cell/spufs/run.c index e9c61a1a8f9..f401e51a797 100644 --- a/arch/powerpc/platforms/cell/spufs/run.c +++ b/arch/powerpc/platforms/cell/spufs/run.c | |||
@@ -395,16 +395,14 @@ long spufs_run_spu(struct spu_context *ctx, u32 *npc, u32 *event) | |||
395 | SPU_STATUS_STOPPED_BY_HALT | | 395 | SPU_STATUS_STOPPED_BY_HALT | |
396 | SPU_STATUS_SINGLE_STEP))); | 396 | SPU_STATUS_SINGLE_STEP))); |
397 | 397 | ||
398 | if ((status & SPU_STATUS_STOPPED_BY_STOP) && | ||
399 | (((status >> SPU_STOP_STATUS_SHIFT) & 0x3f00) == 0x2100) && | ||
400 | (ctx->state == SPU_STATE_RUNNABLE)) | ||
401 | ctx->stats.libassist++; | ||
402 | |||
403 | |||
404 | spu_disable_spu(ctx); | 398 | spu_disable_spu(ctx); |
405 | ret = spu_run_fini(ctx, npc, &status); | 399 | ret = spu_run_fini(ctx, npc, &status); |
406 | spu_yield(ctx); | 400 | spu_yield(ctx); |
407 | 401 | ||
402 | if ((status & SPU_STATUS_STOPPED_BY_STOP) && | ||
403 | (((status >> SPU_STOP_STATUS_SHIFT) & 0x3f00) == 0x2100)) | ||
404 | ctx->stats.libassist++; | ||
405 | |||
408 | if ((ret == 0) || | 406 | if ((ret == 0) || |
409 | ((ret == -ERESTARTSYS) && | 407 | ((ret == -ERESTARTSYS) && |
410 | ((status & SPU_STATUS_STOPPED_BY_HALT) || | 408 | ((status & SPU_STATUS_STOPPED_BY_HALT) || |