drivers/regulator_rpmsg: destroy nxsem properly

Signed-off-by: chao an <anchao@xiaomi.com>
This commit is contained in:
chao an 2022-11-20 22:28:39 +08:00 committed by Xiang Xiao
parent 07604b3220
commit dff81756cf

View File

@ -495,18 +495,17 @@ static int regulator_rpmsg_sendrecv(FAR struct rpmsg_endpoint *ept,
msg->cookie = (uintptr_t)&cookie;
ret = rpmsg_send_nocopy(ept, msg, len);
if (ret < 0)
if (ret >= 0)
{
return ret;
ret = nxsem_wait_uninterruptible(&cookie.sem);
if (ret >= 0)
{
ret = cookie.result;
}
}
ret = nxsem_wait_uninterruptible(&cookie.sem);
if (ret < 0)
{
return ret;
}
return cookie.result;
nxsem_destroy(&cookie.sem);
return ret;
}
static int regulator_rpmsg_enable(FAR struct regulator_dev_s *rdev)