diff --git a/sound/soc/msm/qdsp6v2/q6adm.c b/sound/soc/msm/qdsp6v2/q6adm.c index 8ea407ca90880d16a37130004516a77f9b991e73..08caf510f8b44af77f7333ba23104a2da286b63d 100644 --- a/sound/soc/msm/qdsp6v2/q6adm.c +++ b/sound/soc/msm/qdsp6v2/q6adm.c @@ -1429,6 +1429,13 @@ int adm_open(int port_id, int path, int rate, int channel_mode, int topology, } else this_adm.topology[index] = open.topology_id; + if (this_adm.port_none_topo == port_id && + this_adm.port_none_topo != AFE_PORT_INVALID) { + open.topology_id = NULL_COPP_TOPOLOGY; + this_adm.topology[index] = NULL_COPP_TOPOLOGY; + pr_debug("set topology none for port 0X%x\n", port_id); + } + open.dev_num_channel = channel_mode & 0xFF; open.bit_width = bits_per_sample; WARN_ON(perf_mode == ULTRA_LOW_LATENCY_PCM_MODE && @@ -1532,11 +1539,7 @@ int adm_open(int port_id, int path, int rate, int channel_mode, int topology, goto fail_cmd; } } - if (this_adm.port_none_topo == port_id && - this_adm.port_none_topo != AFE_PORT_INVALID) { - open.topology_id = NULL_COPP_TOPOLOGY; - pr_debug("set topology none for port 0X%x\n", port_id); - } + if (perf_mode == ULTRA_LOW_LATENCY_PCM_MODE || perf_mode == LOW_LATENCY_PCM_MODE) { atomic_inc(&this_adm.copp_low_latency_cnt[index]);