MLK-17220: ASoC: fsl_rpmsg_i2s: restore original lock context
authorViorel Suman <viorel.suman@nxp.com>
Thu, 14 Dec 2017 12:03:51 +0000 (14:03 +0200)
committerNitin Garg <nitin.garg@nxp.com>
Tue, 20 Mar 2018 19:51:33 +0000 (14:51 -0500)
Restore original lock context and unlock the mutex in case if
info->rpdev is uninitialized.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
sound/soc/fsl/fsl_rpmsg_i2s.c

index 95cbe45..60b872f 100644 (file)
@@ -35,15 +35,15 @@ static int i2s_send_message(struct i2s_rpmsg_s *msg,
 {
        int err;
 
+       mutex_lock(&info->tx_lock);
        if (!info->rpdev) {
                dev_dbg(info->dev, "rpmsg channel not ready, m4 image ready?\n");
+               mutex_unlock(&info->tx_lock);
                return -EINVAL;
        }
 
        dev_dbg(&info->rpdev->dev, "send cmd %d\n", msg->header.cmd);
 
-       mutex_lock(&info->tx_lock);
-
        reinit_completion(&info->cmd_complete);
        err = rpmsg_send(info->rpdev->ept, (void *)msg,
                         sizeof(struct i2s_rpmsg_s));