nuttx/drivers
Michal Lenc eb21f59f2f syslog: avoid an infinite loop if one channel fails
The current implementation exits syslog_write_foreach function
if write to one channel fails, causing other channels not being written
and returning negated errno. libc syslog functions then stay in
an infinite loop, because error is returned and the same bytes
are still passed to syslograwstream_flush and syslog_write_foreach.

The channel write may fail for many reasons - disconnected USB if
CDC ACM syslog is enabled, lost networking if telnet syslog is enabled,
error on NOR flash etc. This shouldn't lead to an ininite loop in the
code though.

The solution ensures all channels in syslog_write_foreach are tried,
therefore the user get the output to the working channels even if
the first one is broken. It also updates syslograwstream_addchar and
syslograwstream_addstring to skip the bytes if all channels fails. This
ensures syslog call won't result in an infinite loop, but the user may
lost the debugging output.

Co-authored-by: Martin Krasula <mkrasula@elektroline.cz>
Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2026-06-24 09:46:34 +08:00
..
1wire style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
aie include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
analog drivers/analog/dac7554: Add NULL checks after kmm_malloc in dac7554_initialize 2026-05-30 17:50:14 +08:00
audio !sys/types.h: change time_t and clock_t to int64_t to align with other OSes 2026-05-19 16:21:28 +08:00
bch include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
can drivers/can/ctucanfd_pci: Stack Overflow When Malformed CAN Data Is Received 2026-06-17 17:12:22 +08:00
clk drivers/clk: fix conflicting types in clk_register_* definitions 2026-06-23 09:46:33 +08:00
contactless drivers/contactless/pn532: Fix Stack Overflow in PN532 Contactless Driver 2026-06-17 17:13:32 +08:00
coresight style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
crypto include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
devicetree include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
dma
dummy
eeprom drivers/eeprom/i2c_xx24xx: Integer Overflow in I2C EEPROM ee24xx_seek() 2026-06-23 10:02:10 +08:00
efuse include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
i2c drivers: Fix comment typos — 'register' → 'registered' across drivers. 2026-05-28 22:21:47 +08:00
i2s drivers: Fix comment typos — 'register' → 'registered' across drivers. 2026-05-28 22:21:47 +08:00
i3c drivers: Fix comment typos — 'register' → 'registered' across drivers. 2026-05-28 22:21:47 +08:00
input drivers/input/button_upper.c: Fix compilation with CONFIG_DISABLE_ALL_SIGNALS 2026-06-17 17:11:26 +08:00
ioexpander include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
ipcc include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
lcd !boards: Remove NSH_ARCHINIT and board_app_initialize 2026-05-02 18:36:46 +08:00
leds !drivers/pwm: remove PWM_MULTICHAN option 2026-05-18 11:35:25 -04:00
loop include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
math include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
misc !nuttx: drop redundant casts on tv_sec/tv_nsec and fix printf formats 2026-05-19 16:21:28 +08:00
mmcsd drivers/mmcsd: Remove eMMC partitions when !CONFIG_MMCSD_MMCSUPPORT 2026-06-11 03:18:31 +08:00
modem style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
motor drivers: Fix comment typos — 'register' → 'registered' across drivers. 2026-05-28 22:21:47 +08:00
mtd drivers/mtd: Make compile time check for sane mtd isbad/markbad configuration 2026-06-17 23:14:58 +08:00
net drivers/net: Fix typo in lan9250_set_txavailable function name. 2026-05-29 09:43:20 +08:00
note !nuttx: drop redundant casts on tv_sec/tv_nsec and fix printf formats 2026-05-19 16:21:28 +08:00
pci include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
pinctrl
pipes include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
power !sys/types.h: change time_t and clock_t to int64_t to align with other OSes 2026-05-19 16:21:28 +08:00
rc drivers: Fix comment typos — 'register' → 'registered' across drivers. 2026-05-28 22:21:47 +08:00
regmap include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
reset include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
rf include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
rpmsg drivers/rpmsg: Fix typo rpmsg_device_destory -> rpmsg_device_destroy 2026-05-30 17:49:03 +08:00
rptun drivers/rptun: guard nxsched_waitpid with CONFIG_SCHED_WAITPID 2026-05-21 06:28:36 +08:00
segger drivers/segger: Download systemview from NuttX Mirror Repo 2026-06-10 22:40:26 +08:00
sensors !sensors/bme680: allow sensor configuration during registration 2026-06-10 20:45:31 +02:00
serial drivers/serial: bound uart_tcdrain xmit-buffer wait by caller timeout 2026-06-10 22:04:35 +08:00
spi drivers: Fix comment typos — 'register' → 'registered' across drivers. 2026-05-28 22:21:47 +08:00
syslog syslog: avoid an infinite loop if one channel fails 2026-06-24 09:46:34 +08:00
thermal include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
timers drivers/timers: Fix non-atomic clock read in up_timer_gettime. 2026-06-17 17:12:04 +08:00
usbdev include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
usbhost drivers/usbhost_hidmouse: fix button detection in touchscreen example 2026-05-22 10:38:25 +08:00
usbmisc include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
usbmonitor include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
usrsock include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
vhost include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
video video/fb: Trigger updatearea() if CONFIG_FB_UPDATE is defined 2026-06-11 02:59:24 +08:00
virtio include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
wireless !sys/types.h: change time_t and clock_t to int64_t to align with other OSes 2026-05-19 16:21:28 +08:00
.gitignore
CMakeLists.txt
drivers_initialize.c serial/uart_rpmsg: add _raw version of driver 2026-02-23 09:19:57 -03:00
Kconfig espressif/rmt: replace rmtchar with arch-specific lirc adapter 2026-04-04 11:18:32 -03:00
Makefile docs/rc: document RC/LIRC drivers and remove empty drivers/rmt files 2026-04-04 11:18:32 -03:00