[POWERPC] spufs: Fix lost events in poll/epoll on mfc
authorKazunori Asayama <asayama@sm.sony.co.jp>
Fri, 29 Jun 2007 00:58:08 +0000 (10:58 +1000)
committerPaul Mackerras <paulus@samba.org>
Tue, 3 Jul 2007 05:24:46 +0000 (15:24 +1000)
commit933b0e35247ef0dbd1a078a0ba3705ddbbda129f
tree9f96bc933290724a26b0feeed18f7a07a141cc00
parentfe2f896d67b89a409c366c9a69e30291ab124467
[POWERPC] spufs: Fix lost events in poll/epoll on mfc

When waiting for I/O events on mfc in an SPU context by using
poll/epoll syscalls, some of the events can be lost because of wrong
order of poll_wait and MFC status checks in the spufs_mfc_poll
function and non-atomic update of tagwait.  This fixes the
problem.

Signed-off-by: Kazunori Asayama <asayama@sm.sony.co.jp>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/platforms/cell/spufs/file.c