From: Vaibhav Agarwal Date: Tue, 12 Jul 2016 09:56:00 +0000 (-0500) Subject: greybus: audio: Fix incorrect codec state modification X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=cf1caac6cd7c1fa25de304925f6b239380797a46;p=linux-beck.git greybus: audio: Fix incorrect codec state modification In case module is removed dynamically with ongoing playback, during module cleanup codec state is mistakenly modified. State should be modified for module only. Fix this. Fixes: 76414cb499b7 ("audio: Use single codec driver registration") Signed-off-by: Vaibhav Agarwal Reviewed-by: Mark Greer Signed-off-by: Alex Elder --- diff --git a/drivers/staging/greybus/audio_codec.c b/drivers/staging/greybus/audio_codec.c index 3c5a5aeeef8a..5e05375bb71e 100644 --- a/drivers/staging/greybus/audio_codec.c +++ b/drivers/staging/greybus/audio_codec.c @@ -971,7 +971,7 @@ static void gbaudio_codec_cleanup(struct gbaudio_module_info *module) ret = gb_audio_apbridgea_unregister_cport(data->connection, i2s_port, cportid, AUDIO_APBRIDGEA_DIRECTION_TX); - gbcodec->stream[0].state = GBAUDIO_CODEC_SHUTDOWN; + module->ctrlstate[0] = GBAUDIO_CODEC_SHUTDOWN; } if (cap_state == GBAUDIO_CODEC_START) { @@ -996,7 +996,7 @@ static void gbaudio_codec_cleanup(struct gbaudio_module_info *module) ret = gb_audio_apbridgea_unregister_cport(data->connection, i2s_port, cportid, AUDIO_APBRIDGEA_DIRECTION_RX); - gbcodec->stream[1].state = GBAUDIO_CODEC_SHUTDOWN; + module->ctrlstate[1] = GBAUDIO_CODEC_SHUTDOWN; } }