[PATCH] rpmsg: smd: Fix double unlock in __qcom_smd_send()

Dan Carpenter
2018-01-19T13:22:36Z

We're not holding the lock here, so we shouldn't unlock.

Fixes: 178f3f75bb4e ("rpmsg: smd: Don't hold the tx lock during wait")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

diff --git a/drivers/rpmsg/qcom_smd.c b/drivers/rpmsg/qcom_smd.c
index cea9a0930c4d..dd3e7eea8c38 100644
--- a/drivers/rpmsg/qcom_smd.c
+++ b/drivers/rpmsg/qcom_smd.c
@@ -759,11 +759,11 @@ static int __qcom_smd_send(struct qcom_smd_channel *channel, const void *data,
qcom_smd_get_tx_avail(channel) >= tlen ||
channel->state != SMD_CHANNEL_OPENED);
if (ret)
- goto out;
+ goto ret;

ret = mutex_lock_interruptible(&channel->tx_lock);
if (ret)
- goto out;
+ return ret;

SET_TX_CHANNEL_FLAG(channel, fBLOCKREADINTR, 1);
}