Subject: fix livelock introduced in previous patch From: Arnd Bergmann The patch labelled 'spufs: block in spu_acquire_runnable' introduced a possible livelock by not releasing the context semaphore in the error path of spufs_mfc_write, so fix that. Signed-off-by: Arnd Bergmann Index: linux-2.6/arch/powerpc/platforms/cell/spufs/file.c =================================================================== --- linux-2.6.orig/arch/powerpc/platforms/cell/spufs/file.c +++ linux-2.6/arch/powerpc/platforms/cell/spufs/file.c @@ -1499,7 +1499,7 @@ static ssize_t spufs_mfc_write(struct fi spu_acquire(ctx); ret = spufs_wait(ctx->run_wq, ctx->state == SPU_STATE_RUNNABLE); if (ret) - goto out; + goto out_unlock; if (file->f_flags & O_NONBLOCK) { ret = ctx->ops->send_mfc_command(ctx, &cmd);