Please ignore my question. It is my fault.

From: Charles.Tsai-蔡清海-研究發展部
Sent: Thursday, June 21, 2012 5:56 PM
To: 'spice-devel@lists.freedesktop.org'
Subject: VirtIO bug (Mouse & Keyboard fail to work after opeining an non-exist 
serial port)

We implemented an virt IO port for printing channel.  It works without any 
problem if Qemu command options specify our printing device.
However, we found a bug in virtio serial driver when a VM is launched without 
specifying the “printing device” from the qemu command line.
In this case, mouse click does not work and no any key can be typed from 
keyboard.

In application(vdservice), it simply calls the following API to open the 
underline device.

   _handle = CreateFile(DeviceName, GENERIC_READ | GENERIC_WRITE , 0, NULL,
                         OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
    if (_handle == INVALID_HANDLE_VALUE) {
        vd_printf("CreateFile() %ls failed: %lu", DeviceName, GetLastError());
        return false;
    }

For working case, virioserial driver shows that both “com.redhat.spice.0” and 
“com.redhat.print.0” are opened.

00000001             0.00000000          ==>VIOSerialPortCreate Port id = 1
00000002             0.00001717          Port Name =com.redhat.spice.0
………………………………….
00000107             0.00481843          ==>VIOSerialPortCreate Port id = 2
00000108             0.00483288          Port Name =com.redhat.print.0
00000109             0.00484705          No more buffers in queue: 
last_used_idx 0 vring.used->idx 0

For the failure case, “CreateFile” fails because it cannot open 
“com.redhat.print.0” device. But trace message of virioserial driver only shows 
that “com.redhat.spice.0” is opened.

If virioserial is not touched for “com.redhat.print.0” device, why it affects 
the “com.redhat.spice.0” device?
_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to