]> git.ipfire.org Git - thirdparty/qemu.git/commit
char: Remove unwanted crlf conversion
authorPatryk Olszewski <patryk@fala.ehost.pl>
Wed, 23 May 2018 19:50:41 +0000 (21:50 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 1 Jun 2018 13:14:31 +0000 (15:14 +0200)
commit12fb0ac0575df83cec72ec5ede293561ee634cc9
tree2542179d2638d8f66614f038f4efe6fde6b4440e
parentff46d9d4d6dda7716c534a300087f447c285ad2b
char: Remove unwanted crlf conversion

This patch fixes a bug in serial that made it almost impossible for guest
to communicate with devices through host's serial.

OPOST flag in c_oflag enables output processing letting other flags in
c_oflag take effect. Usually in c_oflag ONLCR flag is also set, which
causes crlf to be sent in place of lf. This breaks binary transmissions.
Unsetting OPOST flag turns off any output processing which fixes the bug.

Bug reports related:
https://bugs.launchpad.net/qemu/+bug/1772086
https://bugs.launchpad.net/qemu/+bug/1407813
https://bugs.launchpad.net/qemu/+bug/1715296
also
https://lists.nongnu.org/archive/html/qemu-devel/2006-06/msg00196.html

Signed-off-by: Patryk Olszewski <patryk@fala.ehost.pl>
Message-Id: <1527105041-21013-1-git-send-email-patryk@fala.ehost.pl>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
chardev/char-serial.c
chardev/char-stdio.c