From 32dd894674ecaa380593c33aa0c6ca8cba5bc324 Mon Sep 17 00:00:00 2001 From: Shuai Li Date: Mon, 6 May 2019 19:13:08 +0800 Subject: [PATCH] audio: add lock for resampler [1/1] PD#SWPL-8134 Problem: kernel NULL pointer for aml_resample_enable Solution: add lock for resampler Verify: Need stress test for x301 Change-Id: I1bbf5d7aeab681399c93f0cba9cc59195d3be0d6 Signed-off-by: Shuai Li --- sound/soc/amlogic/auge/ddr_mngr.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sound/soc/amlogic/auge/ddr_mngr.c b/sound/soc/amlogic/auge/ddr_mngr.c index 752d1be7402d..baa4fa79b09a 100644 --- a/sound/soc/amlogic/auge/ddr_mngr.c +++ b/sound/soc/amlogic/auge/ddr_mngr.c @@ -655,8 +655,13 @@ void aml_set_resample(enum resample_idx id, p_attach_resample->id = id; p_attach_resample->attach_module = resample_module; + mutex_lock(&ddr_mutex); to = fetch_toddr_by_src( p_attach_resample->attach_module); + if (to == NULL) { + pr_info("%s(), toddr NULL\n", __func__); + goto exit; + } if (enable) { if ((p_attach_resample->status == DISABLED) @@ -679,6 +684,9 @@ void aml_set_resample(enum resample_idx id, if (update_running && to) aml_resample_enable(to, p_attach_resample, enable); + +exit: + mutex_unlock(&ddr_mutex); } /*