summaryrefslogtreecommitdiffstats
path: root/drivers/staging/greybus/audio_manager.c
diff options
context:
space:
mode:
authorVaibhav Agarwal2016-01-28 16:45:40 +0100
committerGreg Kroah-Hartman2016-02-03 06:46:54 +0100
commit3994e0b139c709047cdeb44b6c28cfb39f89f3f2 (patch)
tree6cd7caf1fd59c104d0c0431adb80ef657d0eb973 /drivers/staging/greybus/audio_manager.c
parentgreybus: audio: codec driver cleanup (diff)
downloadkernel-qcow2-linux-3994e0b139c709047cdeb44b6c28cfb39f89f3f2.tar.gz
kernel-qcow2-linux-3994e0b139c709047cdeb44b6c28cfb39f89f3f2.tar.xz
kernel-qcow2-linux-3994e0b139c709047cdeb44b6c28cfb39f89f3f2.zip
greybus: audio: use variable 'is_connected' to maintain module state
there is race condition between _disconnect() request & stop_trigger() in case of abrupt module removal. And sometimes this can lead to deadlock while acquiring codec_info->lock. To avoid such situation, atomic variable is used to maintain codec connected state. During dai operations (trigger, shutdown, etc.), 'is_connected' variable is validated to avoid unnecessary lock acquire in case module already removed. Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers/staging/greybus/audio_manager.c')
0 files changed, 0 insertions, 0 deletions