You shouldn't override class methods in an object initialization function. Whatever the code is trying to achieve here, it needs to be rethought and done in a better way.
Amit, if you can give me some insight into what's going on here, I can take a look at refactoring. Cc: Amit Shah <amit.s...@redhat.com> --- hw/virtio-console.c | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/hw/virtio-console.c b/hw/virtio-console.c index f922400..6c32e7f 100644 --- a/hw/virtio-console.c +++ b/hw/virtio-console.c @@ -109,9 +109,13 @@ static int virtconsole_initfn(VirtIOSerialPort *port) if (vcon->chr) { qemu_chr_add_handlers(vcon->chr, chr_can_read, chr_read, chr_event, vcon); - info->have_data = flush_buf; - info->guest_open = guest_open; - info->guest_close = guest_close; + /* FIXME: This is not right */ + abort(); + if (0) { + info->have_data = flush_buf; + info->guest_open = guest_open; + info->guest_close = guest_close; + } } return 0; -- 1.7.4.1