windows serial COM PollingFunc don't sleep if guest uart can't write

Host environment

  • Operating system: Windows 10 22H2
  • OS/kernel version:
  • Architecture: x64
  • QEMU flavor: qemu-system-arm
  • QEMU version: QEMU 8.0.91
  • QEMU command line: qemu-system-arm -machine mps2-an386 -s -nographic -semihosting -serial COM1 -kernel

Emulated/Virtualized environment

  • Operating system: none / machine mps2-an386
  • OS/kernel version:
  • Architecture: ARM Cortex-M4

Description of problem

If two or more characters are sent from the host to the guest via Windows Com/Serial, everything freezes.

Steps to reproduce

Additional information

I fix it in qemu/chardev/char-win.c see attached file

Edited by Werner de Carne