summaryrefslogtreecommitdiffstats
path: root/drivers/staging/greybus/audio_codec.c
diff options
context:
space:
mode:
authorVaibhav Agarwal <vaibhav.agarwal@linaro.org>2016-07-12 04:56:00 -0500
committerAlex Elder <elder@linaro.org>2016-07-13 13:48:07 -0500
commitcf1caac6cd7c1fa25de304925f6b239380797a46 (patch)
tree8047ec5d3a5324059772cc8014e6c1901b86fdb8 /drivers/staging/greybus/audio_codec.c
parent34873949885ad66f9bc6ad6baff78aed4846c092 (diff)
downloadlinux-cf1caac6cd7c1fa25de304925f6b239380797a46.tar.bz2
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 <vaibhav.agarwal@linaro.org> Reviewed-by: Mark Greer <mgreer@animalcreek.com> Signed-off-by: Alex Elder <elder@linaro.org>
Diffstat (limited to 'drivers/staging/greybus/audio_codec.c')
-rw-r--r--drivers/staging/greybus/audio_codec.c4
1 files changed, 2 insertions, 2 deletions
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;
}
}