From 661d3823228c4414d30ef1947683e81f306e95d1 Mon Sep 17 00:00:00 2001 From: ligd Date: Tue, 6 Feb 2024 11:49:16 +0800 Subject: [PATCH] syslog_rpmsg: handle syslog_rpmsg_transfer() return value in case of only update head Signed-off-by: ligd --- drivers/syslog/syslog_rpmsg.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/syslog/syslog_rpmsg.c b/drivers/syslog/syslog_rpmsg.c index 0aa1db1168..99af9e3c71 100644 --- a/drivers/syslog/syslog_rpmsg.c +++ b/drivers/syslog/syslog_rpmsg.c @@ -189,11 +189,14 @@ static void syslog_rpmsg_putchar(FAR struct syslog_rpmsg_s *priv, int ch, { if (priv->head + 1 - priv->tail >= priv->size) { + bool ret = false; + if (!priv->flush && !up_interrupt_context() && !sched_idletask()) { - syslog_rpmsg_transfer(priv, true); + ret = syslog_rpmsg_transfer(priv, true); } - else + + if (!ret) { /* Overwrite */