sound: oss: dmasound: kill SLEEP() macro to avoid race
authorArnd Bergmann <arnd@arndb.de>
Thu, 2 Jan 2014 12:07:50 +0000 (13:07 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 14 Jan 2014 15:12:07 +0000 (16:12 +0100)
commit1a1e0a80ceb766852e8abd5d4c3d9475611a7d85
tree0efe9224215eca736bbf6a06538651eb54b9516f
parent76439c2ac686c547ca2f53bfe964c100e697ff4a
sound: oss: dmasound: kill SLEEP() macro to avoid race

The use of interruptible_sleep_on_timeout in the dmasound driver
is questionable and we want to kill off all sleep_on variants.
This replaces the calls with wait_event_interruptible_timeout
where possible, to wait for a particular event instead of blocking
in a racy way. In the sq_write function, the easiest solution is
an open-coded prepare_to_wait loop.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/oss/dmasound/dmasound.h
sound/oss/dmasound/dmasound_core.c