diff --git a/drivers/rpmsg/qcom_glink_native.c b/drivers/rpmsg/qcom_glink_native.c index 4faee2d177284f3cb649ae0dc8dc861e497c21c4..0982dee502918b0fb755d4dcdd9508392e26e5cb 100644 --- a/drivers/rpmsg/qcom_glink_native.c +++ b/drivers/rpmsg/qcom_glink_native.c @@ -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);