diff options
-rw-r--r-- | sound/soc/fsl/fsl_dsp_proxy.c | 2 |
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; } |