From 0c75b18f808253a8736d9c619c8e9f197ff0ea5b Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Wed, 15 Oct 2008 13:20:42 +1100 Subject: [PATCH] --- yaml --- r: 116913 b: refs/heads/master c: e869446bb6db209e6092f7cba6cdfc2a5e637177 h: refs/heads/master i: 116911: 28ce50b651eb1dc9cd674eeffc67dfe2c422e78b v: v3 --- [refs] | 2 +- trunk/arch/powerpc/platforms/cell/spufs/sputrace.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index f7cad4a0dbd3..87fa07d96e88 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: baf399273f2ea38e2fcbd4d0b6cc7ba7f7db43eb +refs/heads/master: e869446bb6db209e6092f7cba6cdfc2a5e637177 diff --git a/trunk/arch/powerpc/platforms/cell/spufs/sputrace.c b/trunk/arch/powerpc/platforms/cell/spufs/sputrace.c index 50cae0cf0988..a2460e2e1928 100644 --- a/trunk/arch/powerpc/platforms/cell/spufs/sputrace.c +++ b/trunk/arch/powerpc/platforms/cell/spufs/sputrace.c @@ -80,6 +80,11 @@ static ssize_t sputrace_read(struct file *file, char __user *buf, char tbuf[128]; int width; + /* If we have data ready to return, don't block waiting + * for more */ + if (cnt > 0 && sputrace_used() == 0) + break; + error = wait_event_interruptible(sputrace_wait, sputrace_used() > 0); if (error)