From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tokarev Subject: Re: more about serial ports: do they even work? Date: Tue, 03 Feb 2009 00:32:40 +0300 Message-ID: <49876678.4090808@msgid.tls.msk.ru> References: <497E1B15.2090908@msgid.tls.msk.ru> <497E1F7D.90300@msgid.tls.msk.ru> <49876547.1080904@cisco.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: KVM list , qemu-devel@nongnu.org To: "David S. Ahern" Return-path: Received: from isrv.corpit.ru ([81.13.33.159]:55818 "EHLO isrv.corpit.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753792AbZBBVcp (ORCPT ); Mon, 2 Feb 2009 16:32:45 -0500 In-Reply-To: <49876547.1080904@cisco.com> Sender: kvm-owner@vger.kernel.org List-ID: David S. Ahern wrote: > I don't recall seeing a followup to this post. > > To put Michael's second suggestion into patch form, the following fixes > the problem for me: > > --- kvm-81.orig/qemu/qemu-char.c 2008-12-14 06:16:27.000000000 -0700 > +++ kvm-81/qemu/qemu-char.c 2009-02-02 14:12:20.000000000 -0700 > @@ -1078,20 +1078,21 @@ > if (sarg | TIOCM_DTR) > *targ |= CHR_TIOCM_DTR; > if (sarg | TIOCM_RTS) > *targ |= CHR_TIOCM_RTS; > } > break; > 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); > if (sarg | CHR_TIOCM_DTR) > targ |= TIOCM_DTR; > if (sarg | CHR_TIOCM_RTS) > targ |= TIOCM_RTS; > ioctl(s->fd_in, TIOCMSET, &targ); > } > break; > default: > return -ENOTSUP; > } > > Is this approach palatable to folks? > > david /mjt