summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/av5282/console/console.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/m68k/av5282/console/console.c')
-rw-r--r--c/src/lib/libbsp/m68k/av5282/console/console.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/c/src/lib/libbsp/m68k/av5282/console/console.c b/c/src/lib/libbsp/m68k/av5282/console/console.c
index 25f012237e..85ec37fcc0 100644
--- a/c/src/lib/libbsp/m68k/av5282/console/console.c
+++ b/c/src/lib/libbsp/m68k/av5282/console/console.c
@@ -382,18 +382,15 @@ static ssize_t IntUartInterruptWrite(
size_t len
)
{
- rtems_interrupt_level level;
-
- rtems_interrupt_disable(level);
+ if (len > 0) {
+ /* write out character */
+ MCF5282_UART_UTB(minor) = *buf;
- /* write out character */
- MCF5282_UART_UTB(minor) = *buf;
-
- /* enable tx interrupt */
- IntUartInfo[minor].uimr |= MCF5282_UART_UIMR_TXRDY;
- MCF5282_UART_UIMR(minor) = IntUartInfo[minor].uimr;
+ /* enable tx interrupt */
+ IntUartInfo[minor].uimr |= MCF5282_UART_UIMR_TXRDY;
+ MCF5282_UART_UIMR(minor) = IntUartInfo[minor].uimr;
+ }
- rtems_interrupt_enable(level);
return 0;
}