rptun: fix rptun sem post too much

_assert
/media/liangchaozhong/ssd/86v1ap/nuttx/libs/libc/assert/lib_assert.c:36
nxsem_post
/media/liangchaozhong/ssd/86v1ap/nuttx/sched/semaphore/sem_post.c:91 (discriminator 1)
rptun_wakeup_rx
/media/liangchaozhong/ssd/86v1ap/nuttx/drivers/rptun/rptun.c:374
rpmsg_virtio_rx_callback
/media/liangchaozhong/ssd/86v1ap/nuttx/openamp/open-amp/lib/rpmsg/rpmsg_virtio.c:377
rproc_virtio_notified
/media/liangchaozhong/ssd/86v1ap/nuttx/openamp/open-amp/lib/remoteproc/remoteproc_virtio.c:342
remoteproc_get_notification
/media/liangchaozhong/ssd/86v1ap/nuttx/openamp/open-amp/lib/remoteproc/remoteproc.c:998
nxtask_start
/media/liangchaozhong/ssd/86v1ap/nuttx/sched/task/task_start.c:129

Signed-off-by: ligd <liguiding1@xiaomi.com>
This commit is contained in:
ligd
2022-11-04 11:44:25 +08:00
committed by Xiang Xiao
parent b33a925787
commit f599527e1e
+7 -1
View File
@@ -292,7 +292,13 @@ static int rptun_thread(int argc, FAR char *argv[])
static void rptun_wakeup_rx(FAR struct rptun_priv_s *priv)
{
nxsem_post(&priv->semrx);
int semcount;
nxsem_get_value(&priv->semrx, &semcount);
if (semcount < 1)
{
nxsem_post(&priv->semrx);
}
}
static bool rptun_is_recursive(FAR struct rptun_priv_s *priv)