From 1a2ec5b37237bbd74a5d93ab82db89a5f92dd66e Mon Sep 17 00:00:00 2001 From: ftong Date: Mon, 19 Sep 2022 11:53:03 +0800 Subject: [PATCH] asoc: destroy mutex during module_exit Mutexes are initialized, but not destroyed, add destruction in exit routines. Change-Id: Ia45c604141f4f03403a765e0d10ff0b86b25885e Signed-off-by: ftong --- asoc/msm-pcm-host-voice-v2.c | 1 + asoc/msm-pcm-voice-v2.c | 5 +++++ asoc/msm-pcm-voip-v2.c | 1 + 3 files changed, 7 insertions(+) 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");