dsp: Mark cal block after use
After applying calibration on DSP, cal block
is marked stale to ensure same calibration is not
reused for future usecase.
Change-Id: I9f446c0602f4ab34ca71b9d2611319624fb19cd2
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
diff --git a/asoc/msm-pcm-routing-v2.c b/asoc/msm-pcm-routing-v2.c
index 417cbc0..bab28d1 100644
--- a/asoc/msm-pcm-routing-v2.c
+++ b/asoc/msm-pcm-routing-v2.c
@@ -985,6 +985,9 @@
cal_block = list_entry(ptr,
struct cal_block_data, list);
+ if (cal_utils_is_cal_stale(cal_block))
+ continue;
+
if (((struct audio_cal_info_adm_top *)cal_block
->cal_info)->path == path) {
return cal_block;
@@ -1012,6 +1015,9 @@
cal_block = list_entry(ptr,
struct cal_block_data, list);
+ if (cal_utils_is_cal_stale(cal_block))
+ continue;
+
cal_info = (struct audio_cal_info_adm_top *)
cal_block->cal_info;
if ((cal_info->path == path) &&
@@ -1045,6 +1051,11 @@
return topology;
}
+/*
+ * Retrieving cal_block will mark cal_block as stale.
+ * Hence it cannot be reused or resent unless the flag
+ * is reset.
+ */
static int msm_routing_get_adm_topology(int fedai_id, int session_type,
int be_id)
{
@@ -1534,7 +1545,7 @@
if ((copp_idx < 0) ||
(copp_idx >= MAX_COPPS_PER_PORT)) {
pr_err("%s: adm open failed copp_idx:%d\n",
- __func__, copp_idx);
+ __func__, copp_idx);
mutex_unlock(&routing_lock);
return -EINVAL;
}