diff options
Diffstat (limited to 'c/src/lib/libbsp/m68k/mcf5235/console/console.c')
-rw-r--r-- | c/src/lib/libbsp/m68k/mcf5235/console/console.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/c/src/lib/libbsp/m68k/mcf5235/console/console.c b/c/src/lib/libbsp/m68k/mcf5235/console/console.c index 5c00adf36a..d0e556c473 100644 --- a/c/src/lib/libbsp/m68k/mcf5235/console/console.c +++ b/c/src/lib/libbsp/m68k/mcf5235/console/console.c @@ -394,18 +394,15 @@ IntUartInitialize(void) static ssize_t IntUartInterruptWrite (int minor, const char *buf, size_t len) { - int level; - - rtems_interrupt_disable(level); + if (len > 0) { + /* write out character */ + MCF5235_UART_UTB(minor) = *buf; - /* write out character */ - MCF5235_UART_UTB(minor) = *buf; - - /* enable tx interrupt */ - IntUartInfo[minor].uimr |= MCF5235_UART_UIMR_TXRDY; - MCF5235_UART_UIMR(minor) = IntUartInfo[minor].uimr; + /* enable tx interrupt */ + IntUartInfo[minor].uimr |= MCF5235_UART_UIMR_TXRDY; + MCF5235_UART_UIMR(minor) = IntUartInfo[minor].uimr; + } - rtems_interrupt_enable(level); return( 0 ); } |