From e18db9f0cffcb143e5fdec27539efb417cb4ebf3 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 24 Jun 2013 17:29:11 +0200 Subject: termios: Update due to API changes Termios notifies now the driver about an inactive transmit with the length argument set to zero. --- c/src/lib/libbsp/m68k/genmcf548x/console/console.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'c/src/lib/libbsp/m68k/genmcf548x') diff --git a/c/src/lib/libbsp/m68k/genmcf548x/console/console.c b/c/src/lib/libbsp/m68k/genmcf548x/console/console.c index af18e23d7e..5e85e208b9 100644 --- a/c/src/lib/libbsp/m68k/genmcf548x/console/console.c +++ b/c/src/lib/libbsp/m68k/genmcf548x/console/console.c @@ -528,18 +528,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 */ + *(volatile uint8_t *)(&MCF548X_PSC_TB(minor)) = *buf; - /* write out character */ - *(volatile uint8_t *)(&MCF548X_PSC_TB(minor)) = *buf; - - /* enable tx interrupt */ - IntUartInfo[minor].imr |= MCF548X_PSC_IMR_TXRDY; - MCF548X_PSC_IMR(minor) = IntUartInfo[minor].imr; + /* enable tx interrupt */ + IntUartInfo[minor].imr |= MCF548X_PSC_IMR_TXRDY; + MCF548X_PSC_IMR(minor) = IntUartInfo[minor].imr; + } - rtems_interrupt_enable(level); return 0; } -- cgit v1.2.3