[PATCH] LEON3: fix console close handling
Daniel Hellstrom
daniel at gaisler.com
Thu Jun 26 09:52:43 UTC 2014
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.
---
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 cdfbf2a..8742436 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) {
--
1.7.0.4
More information about the devel
mailing list