[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] usb-hid: activate usb tablet / mouse after migr
From: |
TeLeMan |
Subject: |
Re: [Qemu-devel] [PATCH] usb-hid: activate usb tablet / mouse after migration. |
Date: |
Thu, 13 Oct 2011 10:09:24 +0800 |
On Wed, Oct 12, 2011 at 19:30, Gerd Hoffmann <address@hidden> wrote:
> qemu uses the ps/2 mouse by default. The usb tablet (or mouse) is
> activated as soon as qemu sees some guest activity on the device,
> i.e. polling for HID events. That used to work fine for both fresh
> boot and migration.
It does not fix usb tablet/mouse when starting vm directly from snapshot.
> Remote wakeup support changed the picture though: There will be no
> polling after migration in case the guest suspended the usb bus,
> waiting for wakeup events. Result is that the ps/2 mouse stays
> active.
>
> Fix this by activating the usb tablet / mouse in post_load() in case
> the guest enabled remote wakeup.
>
> Signed-off-by: Gerd Hoffmann <address@hidden>
> ---
> hw/usb-hid.c | 11 +++++++++++
> 1 files changed, 11 insertions(+), 0 deletions(-)
>
> diff --git a/hw/usb-hid.c b/hw/usb-hid.c
> index 7c564b6..997f828 100644
> --- a/hw/usb-hid.c
> +++ b/hw/usb-hid.c
> @@ -520,10 +520,21 @@ static int usb_keyboard_initfn(USBDevice *dev)
> return usb_hid_initfn(dev, HID_KEYBOARD);
> }
>
> +static int usb_ptr_post_load(void *opaque, int version_id)
> +{
> + USBHIDState *s = opaque;
> +
> + if (s->dev.remote_wakeup) {
> + hid_pointer_activate(&s->hid);
> + }
> + return 0;
> +}
> +
> static const VMStateDescription vmstate_usb_ptr = {
> .name = "usb-ptr",
> .version_id = 1,
> .minimum_version_id = 1,
> + .post_load = usb_ptr_post_load,
> .fields = (VMStateField []) {
> VMSTATE_USB_DEVICE(dev, USBHIDState),
> VMSTATE_HID_POINTER_DEVICE(hid, USBHIDState),
> --
> 1.7.1
>
>
>