diff options
| author | Naveen Kumar Chaudhary <[email protected]> | 2026-06-07 21:06:31 +0530 |
|---|---|---|
| committer | Leo Yu-Chi Liang <[email protected]> | 2026-07-26 21:04:42 -0700 |
| commit | c201051a9cd3a358cb67cbba9b1c5fa717cf1c40 (patch) | |
| tree | 8d88b3023cbb83272253367ba4f00c8263115a51 /doc/develop/bootstd | |
| parent | b3b5b305e2c9f09440bda5fd3edf9e230c54d94f (diff) | |
serial: sifive: remove busy-loops from getc and putc ops
The DM serial framework in __serial_getc() and __serial_putc() already
retries when driver ops return -EAGAIN, calling schedule() between
attempts to service the watchdog.
sifive_serial_getc() and sifive_serial_putc() spin internally on
-EAGAIN, which prevents the framework from calling schedule(). This can
lead to watchdog timeouts when waiting for RX data or TX FIFO space.
Remove the busy-loops and return -EAGAIN directly from the underlying
helpers, letting the framework handle retries with proper watchdog
servicing. This is consistent with how other DM serial drivers (pl01x,
meson, cortina, etc.) implement their ops.
Signed-off-by: Naveen Kumar Chaudhary <[email protected]>
Reviewed-by: Leo Yu-Chi Liang <[email protected]>
Diffstat (limited to 'doc/develop/bootstd')
0 files changed, 0 insertions, 0 deletions
