greybus: audio: Report DISCONNECT event after resource cleanup.
authorVaibhav Agarwal <vaibhav.agarwal@linaro.org>
Fri, 3 Jun 2016 12:15:30 +0000 (17:45 +0530)
committerGreg Kroah-Hartman <gregkh@google.com>
Tue, 7 Jun 2016 01:41:44 +0000 (18:41 -0700)
commit698282f659d7c657aad4e0a72ed33190f2332e04
treeb192d34dc25b7e0f6c051769e3e067667c0fe233
parent02f1c12cca45ed684a268563919787f06877bef2
greybus: audio: Report DISCONNECT event after resource cleanup.

Reporting DISCONNECT event immediately on module removal causes
race condition while re-populating mixer controls by above HAL. The
original intent was to avoid any (invalid) mixer control modification
request from above layer.

Ideally, it should report 'MODULE_NOT_READY' on module plug-out and
DISCONNECT after resource cleanup. This would involve changes in GB
Audio manager and HAL layer.

Since we already have a plan to remove GB Audio manager, I'm making this
change in GB codec driver to avoid any race condition. Also, codec
driver already ensures mixer control modifcations for disconnected
modules are not triggered to AP Bridge audio FW & reported invalid.

Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Reviewed-by: Mark Greer <mgreer@animalcreek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/audio_module.c