summaryrefslogtreecommitdiff
path: root/sound/soc/qcom/qdsp6/q6routing.c
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2021-11-26 13:26:29 -0800
committerJakub Kicinski <kuba@kernel.org>2021-11-26 13:45:19 -0800
commit93d5404e8988882bd33f6acc0d343c4db51eb8b4 (patch)
treedd08a576dab4d61fda56dd005c7b2d0001a04297 /sound/soc/qcom/qdsp6/q6routing.c
parentaf22d0550705dcb4142362b232f972bfab486b89 (diff)
parentc5c17547b778975b3d83a73c8d84e8fb5ecf3ba5 (diff)
downloadlwn-93d5404e8988882bd33f6acc0d343c4db51eb8b4.tar.gz
lwn-93d5404e8988882bd33f6acc0d343c4db51eb8b4.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
drivers/net/ipa/ipa_main.c 8afc7e471ad3 ("net: ipa: separate disabling setup from modem stop") 76b5fbcd6b47 ("net: ipa: kill ipa_modem_init()") Duplicated include, drop one. Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'sound/soc/qcom/qdsp6/q6routing.c')
-rw-r--r--sound/soc/qcom/qdsp6/q6routing.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/sound/soc/qcom/qdsp6/q6routing.c b/sound/soc/qcom/qdsp6/q6routing.c
index 3390ebef9549..cd74681e811e 100644
--- a/sound/soc/qcom/qdsp6/q6routing.c
+++ b/sound/soc/qcom/qdsp6/q6routing.c
@@ -372,6 +372,12 @@ int q6routing_stream_open(int fedai_id, int perf_mode,
}
session = &routing_data->sessions[stream_id - 1];
+ if (session->port_id < 0) {
+ dev_err(routing_data->dev, "Routing not setup for MultiMedia%d Session\n",
+ session->fedai_id);
+ return -EINVAL;
+ }
+
pdata = &routing_data->port_data[session->port_id];
mutex_lock(&routing_data->lock);
@@ -495,7 +501,11 @@ static int msm_routing_put_audio_mixer(struct snd_kcontrol *kcontrol,
session->port_id = be_id;
snd_soc_dapm_mixer_update_power(dapm, kcontrol, 1, update);
} else {
- session->port_id = -1;
+ if (session->port_id == be_id) {
+ session->port_id = -1;
+ return 0;
+ }
+
snd_soc_dapm_mixer_update_power(dapm, kcontrol, 0, update);
}