Michael Tokarev wrote: > David S. Ahern wrote: >> Michael Tokarev wrote: >>> David S. Ahern wrote: >>>> case CHR_IOCTL_SERIAL_SET_TIOCM: >>>> { >>>> int sarg = *(int *)arg; >>>> int targ = 0; >>>> + ioctl(s->fd_in, TIOCMGET, &targ); >>> here, one more operation is necessary: >>> targ &= ~(TIOCM_DTR|TIOCM_RTS); >> Interesting. that change was not needed to fix my problem. > > It just means you (or, rather, your guests) never really needed to > DROP those signal lines, only to raise them. > >>>> if (sarg | CHR_TIOCM_DTR) >>>> targ |= TIOCM_DTR; >>>> if (sarg | CHR_TIOCM_RTS) >>>> targ |= TIOCM_RTS; > > Without that line above, the code never drops the two bits, once > set they can't be "removed" anymore. > > By the way, this is upstream qemu issue, not kvm one, and has to be > pushed as such. Good you CC'd qemu list. > Either the two lines above or we could parse the whole set of possible flags, like we do in the CHR_IOCTL_SERIAL_GET_TIOCM case. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html