debug_serial() was doing a full flush while debug_serial_flush() was only doing a partial flush. Fix that.
---
Changes from v1 - fix bit math so it actually checks the correct bit.
--- src/output.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/output.c b/src/output.c index 5c91ae5..462ffb7 100644 --- a/src/output.c +++ b/src/output.c @@ -49,7 +49,7 @@ debug_serial(char c) if (!CONFIG_DEBUG_SERIAL) return; int timeout = DEBUG_TIMEOUT; - while ((inb(CONFIG_DEBUG_SERIAL_PORT+SEROFF_LSR) & 0x60) != 0x60) + while ((inb(CONFIG_DEBUG_SERIAL_PORT+SEROFF_LSR) & 0x20) != 0x20) if (!timeout--) // Ran out of time. return; @@ -63,7 +63,7 @@ debug_serial_flush(void) if (!CONFIG_DEBUG_SERIAL) return; int timeout = DEBUG_TIMEOUT; - while ((inb(CONFIG_DEBUG_SERIAL_PORT+SEROFF_LSR) & 0x40) != 0x40) + while ((inb(CONFIG_DEBUG_SERIAL_PORT+SEROFF_LSR) & 0x60) != 0x60) if (!timeout--) // Ran out of time. return;