diff options
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/run.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/run.c b/arch/powerpc/platforms/cell/spufs/run.c index 0634fecfe54c..e764a43b544e 100644 --- a/arch/powerpc/platforms/cell/spufs/run.c +++ b/arch/powerpc/platforms/cell/spufs/run.c | |||
@@ -294,7 +294,7 @@ static int spu_process_callback(struct spu_context *ctx) | |||
294 | u32 ls_pointer, npc; | 294 | u32 ls_pointer, npc; |
295 | void __iomem *ls; | 295 | void __iomem *ls; |
296 | long spu_ret; | 296 | long spu_ret; |
297 | int ret, ret2; | 297 | int ret; |
298 | 298 | ||
299 | /* get syscall block from local store */ | 299 | /* get syscall block from local store */ |
300 | npc = ctx->ops->npc_read(ctx) & ~3; | 300 | npc = ctx->ops->npc_read(ctx) & ~3; |
@@ -316,11 +316,9 @@ static int spu_process_callback(struct spu_context *ctx) | |||
316 | if (spu_ret <= -ERESTARTSYS) { | 316 | if (spu_ret <= -ERESTARTSYS) { |
317 | ret = spu_handle_restartsys(ctx, &spu_ret, &npc); | 317 | ret = spu_handle_restartsys(ctx, &spu_ret, &npc); |
318 | } | 318 | } |
319 | ret2 = spu_acquire(ctx); | 319 | mutex_lock(&ctx->state_mutex); |
320 | if (ret == -ERESTARTSYS) | 320 | if (ret == -ERESTARTSYS) |
321 | return ret; | 321 | return ret; |
322 | if (ret2) | ||
323 | return -EINTR; | ||
324 | } | 322 | } |
325 | 323 | ||
326 | /* need to re-get the ls, as it may have changed when we released the | 324 | /* need to re-get the ls, as it may have changed when we released the |