Patchwork [15/18] powerpc/spufs: Fix position of BUG_ON inside spusched_tick

login
register
mail settings
Submitter Andre Detsch
Date Dec. 10, 2008, 7:40 p.m.
Message ID <200812101740.45046.adetsch@br.ibm.com>
Download mbox | patch
Permalink /patch/13311/
State RFC
Headers show

Comments

Andre Detsch - Dec. 10, 2008, 7:40 p.m.
The old position of the BUG_ON(!spu_gang_runnable(gang))
command was leading to false bug notifications.
The gang might become not runnable when spusched_tick is
about to be called, as there is no lock being hold that
prevents this to happen. It only is a bug if ctx->spu
was not unset during the process.

Signed-off-by: Andre Detsch <adetsch@br.ibm.com>
---
 arch/powerpc/platforms/cell/spufs/sched.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

Patch

diff --git a/arch/powerpc/platforms/cell/spufs/sched.c b/arch/powerpc/platforms/cell/spufs/sched.c
index be13b19..7b4852f 100644
--- a/arch/powerpc/platforms/cell/spufs/sched.c
+++ b/arch/powerpc/platforms/cell/spufs/sched.c
@@ -1160,11 +1160,11 @@  static noinline int spusched_tick(struct spu_gang *gang,
 
 	mutex_lock(&gang->mutex);
 
-	BUG_ON(!spu_gang_runnable(gang));
-
 	if (!ctx->spu)
 		goto out;
 
+	BUG_ON(!spu_gang_runnable(gang));
+
 	if (ctx->flags & SPU_CREATE_NOSCHED)
 		goto out;