ASoC: msm: qdsp6: Check copp_id's array index
Validate the AFE port index before using it as copp_id's
array index.
Change-Id: I16112d03779980ce787ea78b589b34b5fd59ab36
Signed-off-by: Jay Wang <jaywang@codeaurora.org>
diff --git a/sound/soc/msm/qdsp6/q6adm.c b/sound/soc/msm/qdsp6/q6adm.c
index 77a2afc..0781979 100644
--- a/sound/soc/msm/qdsp6/q6adm.c
+++ b/sound/soc/msm/qdsp6/q6adm.c
@@ -975,10 +975,17 @@
for (i = 0; i < num_copps; i++)
send_adm_cal(port_id[i], path);
- for (i = 0; i < num_copps; i++)
- rtac_add_adm_device(port_id[i], atomic_read(&this_adm.copp_id
- [afe_get_port_index(port_id[i])]),
- path, session_id);
+ for (i = 0; i < num_copps; i++) {
+ int tmp;
+ tmp = afe_get_port_index(port_id[i]);
+ if (tmp >= 0 && tmp < AFE_MAX_PORTS)
+ rtac_add_adm_device(port_id[i],
+ atomic_read(&this_adm.copp_id[tmp]),
+ path, session_id);
+ else
+ pr_debug("%s: Invalid port index %d",
+ __func__, tmp);
+ }
return 0;
fail_cmd: