android_kernel_oneplus_msm8998/sound/core/oss
Takashi Iwai fa6c1876ec ALSA: pcm: Allow aborting mutex lock at OSS read/write loops
commit 900498a34a3ac9c611e9b425094c8106bdd7dc1c upstream.

PCM OSS read/write loops keep taking the mutex lock for the whole
read/write, and this might take very long when the exceptionally high
amount of data is given.  Also, since it invokes with mutex_lock(),
the concurrent read/write becomes unbreakable.

This patch tries to address these issues by replacing mutex_lock()
with mutex_lock_interruptible(), and also splits / re-takes the lock
at each read/write period chunk, so that it can switch the context
more finely if requested.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-01-17 09:35:26 +01:00
..
copy.c ALSA: Kill snd_assert() in sound/core/* 2008-08-13 11:46:35 +02:00
io.c ALSA: Kill snd_assert() in sound/core/* 2008-08-13 11:46:35 +02:00
linear.c ALSA: core: remove unused variables. 2011-05-26 08:19:04 +02:00
Makefile
mixer_oss.c ALSA: oss: underflow in snd_mixer_oss_proc_write() 2015-10-15 10:00:29 +02:00
mulaw.c ALSA: core: sparse cleanups 2011-02-14 17:10:11 +01:00
pcm_oss.c ALSA: pcm: Allow aborting mutex lock at OSS read/write loops 2018-01-17 09:35:26 +01:00
pcm_plugin.c ALSA: pcm: Add missing error checks in OSS emulation plugin builder 2018-01-17 09:35:26 +01:00
pcm_plugin.h ALSA: core: sparse cleanups 2011-02-14 17:10:11 +01:00
rate.c ALSA: fix excessive background noise introduced by OSS emulation rate shrink 2009-02-23 07:49:04 +01:00
route.c ALSA: core: sparse cleanups 2011-02-14 17:10:11 +01:00