From f4df6ab3562b7ac594c96f1467474b99fc93728c Mon Sep 17 00:00:00 2001 From: ligd Date: Mon, 25 Jan 2021 20:06:10 +0800 Subject: [PATCH] syslog_rpmsg: fix system crash when open CONFIG_SCHED_HAVE_PARENT Reason: nx_start use syslog at every early time event the idle thread not full setup, then syslog_rpmsg -> work_queue -> work_signal -> nxsig_kill -> rtcb is NULL -> crash Fix: sched work_queue after is_rpmsg_ept_ready() is true Change-Id: I225469ff2526e4b810bf3e23473b55d57e64a1ff --- drivers/syslog/syslog_rpmsg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/syslog/syslog_rpmsg.c b/drivers/syslog/syslog_rpmsg.c index c415713ea6a..7afc2210fab 100644 --- a/drivers/syslog/syslog_rpmsg.c +++ b/drivers/syslog/syslog_rpmsg.c @@ -186,7 +186,7 @@ static void syslog_rpmsg_putchar(FAR struct syslog_rpmsg_s *priv, int ch, } } - if (last && !priv->suspend && !priv->transfer) + if (last && !priv->suspend && !priv->transfer && is_rpmsg_ept_ready(&priv->ept)) { clock_t delay = SYSLOG_RPMSG_WORK_DELAY; size_t space = SYSLOG_RPMSG_SPACE(priv->head, priv->tail, priv->size);