From a982e8744810f40fb27359013573d371d197b25d Mon Sep 17 00:00:00 2001 From: Meng Wang Date: Wed, 16 Jun 2021 16:40:04 +0800 Subject: [PATCH] dsp: audio_prm: move mutex_init to module_init During SSR, prm_gpr_send_pkr may request g_prm.lock and audio_prm_probe may reinitiaze g_prm.lock. When prm_gpr_send_pkr unlock g_prm_lock, warning log will be there. Move g_prm.lock init and destroy to module_init and module_exit. Change-Id: Id410e55f9dee7c0dcb487591cda8fd21e01c7255 Signed-off-by: Meng Wang --- dsp/audio_prm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dsp/audio_prm.c b/dsp/audio_prm.c index 20cc36ff3f..a2d5878b9a 100644 --- a/dsp/audio_prm.c +++ b/dsp/audio_prm.c @@ -356,7 +356,6 @@ static int audio_prm_probe(struct gpr_device *adev) dev_set_drvdata(&adev->dev, &g_prm); - mutex_init(&g_prm.lock); g_prm.adev = adev; init_waitqueue_head(&g_prm.wait); @@ -405,11 +404,14 @@ static int __init audio_prm_module_init(void) if (ret) pr_err("%s: gpr driver register failed = %d\n", __func__, ret); + mutex_init(&g_prm.lock); + return ret; } static void __exit audio_prm_module_exit(void) { + mutex_destroy(&g_prm.lock); gpr_driver_unregister(&qcom_audio_prm_driver); }