http://bugs.winehq.org/show_bug.cgi?id=28056
--- Comment #14 from Jörg Höhle hoehle@users.sourceforge.net 2011-09-21 03:08:44 CDT --- Regarding the main issue A=Resource temporarily unavailable, which is EAGAIN, not EBUSY, I found one bug: OSS, like ALSA, returns EAGAIN when the buffer is full. It does not return 0 (bytes written). (EAGAIN happens with ALSA despite using NONBLOCKING mode. OSS does not use NONBLOCKING).
Therefore wineoss.drv/mmdevdrv.c needs an oss_write_best_effort function much like the current alsa_write_best_effort.