Commit 069ab0eb authored by Gerhard Wiesinger's avatar Gerhard Wiesinger Committed by Anthony Liguori
Browse files

hw/vmmouse.c: Disable vmmouse after reboot



Bugfix after reboot when vmmouse was enabled and another OS which uses e.g. PS/2
mouse.

Details:
When a guest activated the vmmouse followed by a reboot the vmmouse was still
enabled and the PS/2 mouse was therefore unsusable. When another guest is then
booted without vmmouse support (e.g. PS/2 mouse) the mouse is not working.

Reason is that VMMouse has priority and disables all other mouse entities
and therefore must be disabled on reset.

Testscenario:
1.) Boot e.g. OS with VMMouse support (e.g. Windows with VMMouse tools)
2.) reboot
3.) Boot e.g. OS without VMMouse support (e.g. DOS) => PS/2 mouse doesn't work
     any more. Fixes that issue.

Testscenario 2 by Jan Kiszka <jan.kiszka@siemens.com>:
Confirm that this patch fixes a real issue. Setup: qemu.git,
opensuse 11.4 guest, SDL graphic, system_reset while guest is using the
vmmouse. Without the patch, the vmmouse become unusable after the
reboot. Also, the mouse stays in absolute mode even before X starts again.

Fixed by:
Disabling the vmmouse in its reset handler.

Tested-by: default avatarAndreas F=E4rber <afaerber@suse.de>
Signed-off-by: default avatarGerhard Wiesinger <lists@wiesinger.com>
Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
parent 93dd748b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -254,6 +254,8 @@ static void vmmouse_reset(DeviceState *d)

    s->status = 0xffff;
    s->queue_size = VMMOUSE_QUEUE_SIZE;

    vmmouse_disable(s);
}

static int vmmouse_initfn(ISADevice *dev)