diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/spufs.h | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/spufs.h b/arch/powerpc/platforms/cell/spufs/spufs.h index dd5fc6494ecf..0a947fd7de57 100644 --- a/arch/powerpc/platforms/cell/spufs/spufs.h +++ b/arch/powerpc/platforms/cell/spufs/spufs.h | |||
@@ -223,14 +223,13 @@ extern char *isolated_loader; | |||
223 | prepare_to_wait(&(wq), &__wait, TASK_INTERRUPTIBLE); \ | 223 | prepare_to_wait(&(wq), &__wait, TASK_INTERRUPTIBLE); \ |
224 | if (condition) \ | 224 | if (condition) \ |
225 | break; \ | 225 | break; \ |
226 | if (!signal_pending(current)) { \ | 226 | if (signal_pending(current)) { \ |
227 | spu_release(ctx); \ | 227 | __ret = -ERESTARTSYS; \ |
228 | schedule(); \ | 228 | break; \ |
229 | spu_acquire(ctx); \ | ||
230 | continue; \ | ||
231 | } \ | 229 | } \ |
232 | __ret = -ERESTARTSYS; \ | 230 | spu_release(ctx); \ |
233 | break; \ | 231 | schedule(); \ |
232 | spu_acquire(ctx); \ | ||
234 | } \ | 233 | } \ |
235 | finish_wait(&(wq), &__wait); \ | 234 | finish_wait(&(wq), &__wait); \ |
236 | __ret; \ | 235 | __ret; \ |