RTEMS | bsps/mips/malta: The polled character input blocks (#5767)

Sebastian Huber (@sebhub) gitlab at rtems.org
Fri Sep 11 07:33:26 UTC 2026



Issue created by Sebastian Huber: https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5767



`BSP_com_inch()` of `bsps/mips/malta/console/printk_support.c` polls
the device in a loop until it reads a character. `BSP_poll_char`
references that function.

The specification of `BSP_poll_char` states the opposite. A
referenced function dequeues the least recently received character of
the device. Where the device holds none, the function returns minus
one at once. The generated documentation of
`cpukit/include/rtems/bspIo.h` carries that sentence.

`ts-validation-io-kernel` calls `getchark()` while the device holds
no character. The loop never ends, so the suite makes no progress on
`mips/malta`. It prints nothing and the runner ends it on a timeout.
A backtrace of the hung system stands in `ns16550_inch_polled()`
below `BSP_com_inch()`.

`mips/jmr3904` sets `BSP_poll_char` to NULL, which the specification
allows, so the suite passes there.

Return the result of the polled read. `ns16550_inch_polled()` already
gives minus one for an empty device.

Found in the repair of the Malta BSP for the test suite. This
description was created with Claude Code assistance.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5767
You're receiving this email because of your account on gitlab.rtems.org. Unsubscribe from this thread: https://gitlab.rtems.org/-/namespace/49/sent_notifications/5-dvil6il7jfe77o2ok640jjmef-1d/unsubscribe | Manage all notifications: https://gitlab.rtems.org/-/profile/notifications | Help: https://gitlab.rtems.org/help


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20260911/12e0f3ac/attachment.htm>


More information about the bugs mailing list