From cf1caac6cd7c1fa25de304925f6b239380797a46 Mon Sep 17 00:00:00 2001 From: Vaibhav Agarwal Date: Tue, 12 Jul 2016 04:56:00 -0500 Subject: [PATCH] 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 --- drivers/staging/greybus/audio_codec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/greybus/audio_codec.c b/drivers/staging/greybus/audio_codec.c index 3c5a5ae..5e05375 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; } } -- 2.7.4