summaryrefslogtreecommitdiff
path: root/sound/soc/fsl/fsl_dsp_proxy.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/fsl/fsl_dsp_proxy.c')
-rw-r--r--sound/soc/fsl/fsl_dsp_proxy.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/soc/fsl/fsl_dsp_proxy.c b/sound/soc/fsl/fsl_dsp_proxy.c
index 94bffc06c608..f29b6ecaacbb 100644
--- a/sound/soc/fsl/fsl_dsp_proxy.c
+++ b/sound/soc/fsl/fsl_dsp_proxy.c
@@ -678,6 +678,7 @@ int xf_cmd_alloc(struct xf_proxy *proxy, void **buffer, u32 length)
/* ...send command to remote proxy */
m = xf_cmd_send_recv(proxy, id, XF_ALLOC, NULL, length);
if (IS_ERR(m)) {
+ xf_unlock(&proxy->lock);
ret = PTR_ERR(m);
return ret;
}
@@ -707,6 +708,7 @@ int xf_cmd_free(struct xf_proxy *proxy, void *buffer, u32 length)
/* ...synchronously execute freeing command */
m = xf_cmd_send_recv(proxy, id, XF_FREE, buffer, length);
if (IS_ERR(m)) {
+ xf_unlock(&proxy->lock);
ret = PTR_ERR(m);
return ret;
}