]> git.ipfire.org Git - thirdparty/qemu.git/commit - qemu-char.c
Always notify consumers of char devices if they're open
authorAlexander Graf <agraf@suse.de>
Thu, 1 Apr 2010 16:42:39 +0000 (18:42 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Fri, 9 Apr 2010 20:03:22 +0000 (22:03 +0200)
commit73cdf3f2c97703a89b026d3a42c1120ba05fe37d
tree8dbe009563fe5f9fe6455111618fa9b0b8f44651
parent01c0bef1625d8e5d6d5c6abaf413214d667615ad
Always notify consumers of char devices if they're open

When using virtio-console on s390, the input doesn't work.

The root of the problem is rather simple. What happens is the following:

 1) create character device for stdio
 2) char device is done creating, sends OPENED event
 3) virtio-console adds handlers
 4) no event comes because the char device is open already
 5) virtio-console doesn't accept input because it didn't
    receive an OPENED event

To make that sure virtio-console gets notified that the character device
is open even when it's been open from the beginning, this patch introduces
a variable that keeps track of the opened state. If the device is open when
the event handlers get installed, we just notify the handler.

This fixes input with virtio-console on s390.

Signed-off-by: Alexander Graf <agraf@suse.de>
Acked-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
qemu-char.c
qemu-char.h