[Spice-devel] VirtIO bug (Mouse & Keyboard fail to work after opeining an non-exist serial port)

Charles.Tsai-蔡清海-研究發展部 charles.tsai at cloudena.com
Thu Jun 21 04:53:33 PDT 2012


Please ignore my question. It is my fault.

From: Charles.Tsai-蔡清海-研究發展部
Sent: Thursday, June 21, 2012 5:56 PM
To: 'spice-devel at 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?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20120621/b08e4570/attachment.html>


More information about the Spice-devel mailing list