dsp: afe: get apr handle before sending apr pkt
Make sure to get apr handle before sending a packet
so that it does not end up with no handle to send
the apr packet.
Change-Id: Iaaebee3ddc6c83896e4cb9dc8149d310fc7d67f1
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
diff --git a/dsp/q6afe.c b/dsp/q6afe.c
index 3d5f5e8..fd66571 100644
--- a/dsp/q6afe.c
+++ b/dsp/q6afe.c
@@ -8827,6 +8827,12 @@
return -EINVAL;
}
+ ret = afe_q6_interface_prepare();
+ if(ret) {
+ pr_err("%s: Q6 interface prepare failed %d\n", __func__, ret);
+ return ret;
+ }
+
mutex_lock(&this_afe.afe_cmd_lock);
memset(cmd_ptr, 0, sizeof(hw_vote_cfg));
@@ -8902,6 +8908,12 @@
&hw_vote_cfg;
int ret = 0;
+ ret = afe_q6_interface_prepare();
+ if(ret) {
+ pr_err("%s: Q6 interface prepare failed %d\n", __func__, ret);
+ return ret;
+ }
+
mutex_lock(&this_afe.afe_cmd_lock);
memset(cmd_ptr, 0, sizeof(hw_vote_cfg));
diff --git a/ipc/apr.c b/ipc/apr.c
index 2e6d75f..fbb1f32 100644
--- a/ipc/apr.c
+++ b/ipc/apr.c
@@ -364,7 +364,8 @@
unsigned long flags;
if (!handle || !buf) {
- pr_err("APR: Wrong parameters\n");
+ pr_err("APR: Wrong parameters for %s\n",
+ !handle ? "handle" : "buf");
return -EINVAL;
}
if (svc->need_reset) {