From 73cdf3f2c97703a89b026d3a42c1120ba05fe37d Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Thu, 1 Apr 2010 18:42:39 +0200 Subject: 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 Acked-by: Amit Shah Signed-off-by: Aurelien Jarno --- qemu-char.h | 1 + 1 file changed, 1 insertion(+) (limited to 'qemu-char.h') diff --git a/qemu-char.h b/qemu-char.h index 3a9427be67..e3a07838a4 100644 --- a/qemu-char.h +++ b/qemu-char.h @@ -67,6 +67,7 @@ struct CharDriverState { QEMUBH *bh; char *label; char *filename; + int opened; QTAILQ_ENTRY(CharDriverState) next; }; -- cgit v1.2.3