--- zzzz-none-000/linux-2.6.13.1/drivers/serial/serial_core.c 2005-09-10 02:42:58.000000000 +0000 +++ ohio-7170-487/linux-2.6.13.1/drivers/serial/serial_core.c 2006-11-06 16:02:03.000000000 +0000 @@ -1843,7 +1843,6 @@ if (flow == 'r') termios.c_cflag |= CRTSCTS; - port->ops->set_termios(port, &termios, NULL); co->cflag = termios.c_cflag; @@ -2186,11 +2185,14 @@ { struct uart_state *state; int ret = 0; + printk("[uart_add_one_port]\n"); BUG_ON(in_interrupt()); - if (port->line >= drv->nr) + if (port->line >= drv->nr) { + printk("[uart_add_one_port] (port->line >= drv->nr)\n"); return -EINVAL; + } state = drv->state + port->line; @@ -2225,13 +2227,19 @@ * successfully registered yet, try to re-register it. * It may be that the port was not available. */ - if (port->type != PORT_UNKNOWN && - port->cons && !(port->cons->flags & CON_ENABLED)) + if (port->type != PORT_UNKNOWN && port->cons && !(port->cons->flags & CON_ENABLED)) { + printk("[uart_add_one_port] now register console\n"); register_console(port->cons); + } else { + printk("[uart_add_one_port] dont register console port->type = %u\n", port->type); + printk("port->cons = 0x%x port->cons->flags = 0x%x\n", + port->cons, port->cons ? port->cons->flags : 0); + } out: up(&port_sem); + printk("[uart_add_one_port] success\n"); return ret; }