From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [Qemu-devel] Re: more about serial ports: do they even work? Date: Wed, 04 Feb 2009 11:17:11 +0000 Message-ID: <49897937.8000203@eu.citrix.com> References: <497E1B15.2090908@msgid.tls.msk.ru> <497E1F7D.90300@msgid.tls.msk.ru> <49876547.1080904@cisco.com> <49876678.4090808@msgid.tls.msk.ru> <4987674E.9050201@cisco.com> <4987FCBA.7020104@msgid.tls.msk.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: "David S. Ahern" , KVM list To: qemu-devel@nongnu.org Return-path: Received: from smtp.eu.citrix.com ([62.200.22.115]:26653 "EHLO SMTP.EU.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753400AbZBDLUN (ORCPT ); Wed, 4 Feb 2009 06:20:13 -0500 In-Reply-To: <4987FCBA.7020104@msgid.tls.msk.ru> Sender: kvm-owner@vger.kernel.org List-ID: 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.