* libchip/serial/ns16550.c: Install interrupt handler after TTY
	pointer is valid.
This commit is contained in:
Sebastian Huber
2011-01-17 10:31:18 +00:00
parent 0e1d590c18
commit 29badca6c1
2 changed files with 8 additions and 4 deletions

View File

@@ -1,3 +1,8 @@
2011-01-17 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libchip/serial/ns16550.c: Install interrupt handler after TTY
pointer is valid.
2010-10-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libchip/ide/ata.c: Do not violate chain API.

View File

@@ -68,10 +68,10 @@ console_flow ns16550_flow_DTRCTS = {
console_fns ns16550_fns = {
libchip_serial_default_probe, /* deviceProbe */
ns16550_open, /* deviceFirstOpen */
NULL, /* deviceLastClose */
ns16550_close, /* deviceLastClose */
NULL, /* deviceRead */
ns16550_write_support_int, /* deviceWrite */
ns16550_initialize_interrupts, /* deviceInitialize */
ns16550_init, /* deviceInitialize */
ns16550_write_polled, /* deviceWritePolled */
ns16550_set_attributes, /* deviceSetAttributes */
true /* deviceOutputUsesInterrupts */
@@ -186,6 +186,7 @@ NS16550_STATIC int ns16550_open(
rtems_termios_set_initial_baud( tty, (intptr_t) c->pDeviceParams);
if (c->pDeviceFns->deviceOutputUsesInterrupts) {
ns16550_initialize_interrupts( minor);
ns16550_enable_interrupts( minor, NS16550_ENABLE_ALL_INTR_EXCEPT_TX);
}
@@ -598,8 +599,6 @@ NS16550_STATIC void ns16550_initialize_interrupts( int minor)
#endif
console_data *d = &Console_Port_Data [minor];
ns16550_init( minor);
d->bActive = false;
#ifdef BSP_FEATURE_IRQ_EXTENSION