On Thu, 28 Jun 2012 17:29:27 +0200 Mikael Johansson <mikael.lars.johansson@xxxxxxxx> wrote: > Greetings, > > We have a problem with drivers/serial/artpec.c (Not yet in main tree) > which uses hardware supported flow control (XON/XOFF). We do cfmakeraw() > and tcsetattr() from userspace to set a termios struct where (c_iflag & > IXON) is not set. The problem is that the call to tcsetattr() is not > propagated down to serial_artpec_set_termios(), the reason being that > uart_set_termios() doesn't think that IXON is a RELEVANT_IFLAG and > returns prematurely instead of calling uart_change_speed --> > ops->set_termios(). > > Could this be fixed by making IXON a RELEVANT_IFLAG?: That's actually insufficient for those cases - you can set the characters used for things as well plus IXANY and IXOFF. It's a stupid "optimisation" and the only reason I didn't get rid of it before was in case it broke something else. Time for it to go. So yeah - I'd just delete it. If you are doing hardware XON/XOFF watch c_cc[VSTART] and c_cc[VSTOP]. Those control the symbol used for soft flow control. Alan -- 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