提交 5f5423ff 编写于 作者: B Bjorn Andersson

rpmsg: glink: Release idr lock before returning on error

The idr_lock should be released in the case that we don't find the given
channel.

Fixes: 44f6df92 ("rpmsg: glink: Fix idr_lock from mutex to spinlock")
Reported-by: NJulia Lawall <julia.lawall@lip6.fr>
Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
上级 88c6060f
......@@ -938,11 +938,11 @@ static int qcom_glink_rx_open_ack(struct qcom_glink *glink, unsigned int lcid)
spin_lock(&glink->idr_lock);
channel = idr_find(&glink->lcids, lcid);
spin_unlock(&glink->idr_lock);
if (!channel) {
dev_err(glink->dev, "Invalid open ack packet\n");
return -EINVAL;
}
spin_unlock(&glink->idr_lock);
complete(&channel->open_ack);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册