diff --git a/asoc/msm-pcm-host-voice-v2.c b/asoc/msm-pcm-host-voice-v2.c index cb6a478434f6..4496e05a966a 100644 --- a/asoc/msm-pcm-host-voice-v2.c +++ b/asoc/msm-pcm-host-voice-v2.c @@ -1524,6 +1524,7 @@ int __init msm_voice_host_init(void) void msm_voice_host_exit(void) { platform_driver_unregister(&msm_pcm_driver); + mutex_destroy(&hpcm_drv.lock); } MODULE_DESCRIPTION("PCM module platform driver"); diff --git a/asoc/msm-pcm-voice-v2.c b/asoc/msm-pcm-voice-v2.c index 7b8c5dbe55f4..cbabe85b91c8 100644 --- a/asoc/msm-pcm-voice-v2.c +++ b/asoc/msm-pcm-voice-v2.c @@ -850,7 +850,12 @@ int __init msm_pcm_voice_init(void) void msm_pcm_voice_exit(void) { + int i = 0; + platform_driver_unregister(&msm_pcm_driver); + + for (i = 0; i < VOICE_SESSION_INDEX_MAX; i++) + mutex_destroy(&voice_info[i].lock); } MODULE_DESCRIPTION("Voice PCM module platform driver"); diff --git a/asoc/msm-pcm-voip-v2.c b/asoc/msm-pcm-voip-v2.c index f635a2b63fbe..14803f1d235a 100644 --- a/asoc/msm-pcm-voip-v2.c +++ b/asoc/msm-pcm-voip-v2.c @@ -1699,6 +1699,7 @@ int __init msm_pcm_voip_init(void) void msm_pcm_voip_exit(void) { platform_driver_unregister(&msm_pcm_driver); + mutex_destroy(&voip_info.lock); } MODULE_DESCRIPTION("PCM module platform driver");