diff options
author | Daniel Hellstrom <daniel@gaisler.com> | 2014-06-13 15:14:54 +0200 |
---|---|---|
committer | Daniel Hellstrom <daniel@gaisler.com> | 2014-06-30 15:45:02 +0200 |
commit | 9f99232e4b76bc8a02d0d01f7fd2c7725a4662d5 (patch) | |
tree | fdf985709db0b8c8999ee38f2cfd33d03385f5fa /c | |
parent | smptests/smpfatal08: Support RTEMS_PARAVIRT (diff) | |
download | rtems-9f99232e4b76bc8a02d0d01f7fd2c7725a4662d5.tar.bz2 |
LEON3: fix console close handling
On SMP rtems_interrupt_lock_context must be used. Most tests fail with a
NULL pointer exception when exiting, except on NGMP where main memory is
at 0x00000000.
Diffstat (limited to 'c')
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/console/console.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/sparc/leon3/console/console.c b/c/src/lib/libbsp/sparc/leon3/console/console.c index cdfbf2a599..8742436622 100644 --- a/c/src/lib/libbsp/sparc/leon3/console/console.c +++ b/c/src/lib/libbsp/sparc/leon3/console/console.c @@ -355,12 +355,12 @@ static int leon3_console_last_close(int major, int minor, void *arg) { struct rtems_termios_tty *tty = leon3_console_get_tty(arg); struct apbuart_priv *uart = leon3_console_get_uart(minor); - rtems_interrupt_level level; + rtems_interrupt_lock_context lock_ctx; /* Turn off RX interrupts */ - rtems_termios_interrupt_lock_acquire(tty, level); + rtems_termios_interrupt_lock_acquire(tty, &lock_ctx); uart->regs->ctrl &= ~(LEON_REG_UART_CTRL_RI); - rtems_termios_interrupt_lock_release(tty, level); + rtems_termios_interrupt_lock_release(tty, &lock_ctx); /**** Flush device ****/ while (uart->sending) { |