On 03/25/2011 12:00 PM, Alan Cox wrote: > On Fri, 25 Mar 2011 11:45:56 +0100 > Jiri Slaby <jslaby@xxxxxxx> wrote: > >> Under certain circumstances uart_dtr_rts might cause an oops. It dies >> because port->tty is NULL. To fix this, let's take a reference of >> port->tty by tty_port_tty_get. And if it is not there already, fail >> gracefully. > > 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. thanks, -- js suse labs -- 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