From f5f13e4c2c78efb8dda749aeedbc4b51ee9694ee Mon Sep 17 00:00:00 2001 From: Daniel Baluta Date: Thu, 8 Nov 2018 16:13:12 +0200 Subject: MLK-20189-5: ASoC: fsl: dsp_proxy: Unlock proxy->lock on error path xf_cmd_send_recv returns with lock taken if waiting was interrupted by a signal. This fixes Coverity issues: CID5233120 / CID5233060 Reviewed-by: S.j. Wang Reviewed-by: Cosmin-Gabriel Samoila Signed-off-by: Daniel Baluta --- sound/soc/fsl/fsl_dsp_proxy.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'sound/soc/fsl/fsl_dsp_proxy.c') 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; } -- cgit v1.2.3