http://bugs.winehq.org/show_bug.cgi?id=13046
--- Comment #2 from Ben Mayhew ben-dev@gmx.net 2008-05-08 04:50:33 --- I was able to workaround the problem a little bit by adding a critical section on This->device->mixlock around IDirectSoundBufferImpl_Lock.
So it looks like the problem is because there are two separate locking mechanisms for dsound - the critical section and the RtlAcquireResource calls on This->lock inside buffer.c