yamt commented on code in PR #14761:
URL: https://github.com/apache/nuttx/pull/14761#discussion_r1840331675


##########
drivers/syslog/syslog_channel.c:
##########
@@ -234,23 +229,31 @@ g_syslog_channel[CONFIG_SYSLOG_MAX_CHANNELS] =
 #ifdef CONFIG_SYSLOG_DEFAULT
 static int syslog_default_putc(FAR syslog_channel_t *channel, int ch)
 {
-  UNUSED(channel);
-
 #  ifdef CONFIG_ARCH_LOWPUTC
+  /* See https://github.com/apache/nuttx/issues/14662
+   * about what this critical section is for.
+   */
+
+  irqstate_t flags = enter_critical_section();
   up_putc(ch);
+  leave_critical_section(flags);

Review Comment:
   > Should serial.c use a spinlock / spin_lock_irqsave ? I cannot imagine why 
the big kernel lock (enter/exit_critical) needs to be invoked there (although I 
have not looked at the driver itself).
   
   because we don't have a spinlock-interlocked blocking api? (do we?)
   
   > if CONFIG_SPINLOCK = 0, then spin_lock_irqsave reverts back to a local 
interrupt disable. Should work ?
   
   i'm not sure what you mean here. is it about this PR?
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to