> > The uart helper layer assumes here (and a couple of other spots) that the > > IRQ handler for the tty takes the port lock. > > The oopsing path is through open BTW: > -> uart_open > -> tty_port_block_til_ready > -> tty_port_raise_dtr_rts > -> uart_dtr_rts > > > I think the *right* fix is probably to pass port not port->tty into the > > helper in the first place but that seems to ripple into a lot of drivers. > > > > (passing port->tty to things that then go tty->port is braindead and > > causes half the mess in the tty/serial code) > > I seem to miss the point. uart_update_termios needs tty, not port. Actually I think it needs shooting having looked more closely It does 3 things 1. It copies a flag across as part of a console hack. That should be done elsewhere - eg in uart_startup 2. It sets the speed, which was already done by uart_startup 3. It goes poking around in the CBAUD flag before playing with DTR and RTS which will have no effect as we *already* set the flags in uart_dtr_rts Am I missing something ? -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html