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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html