From 069ab0eb8a46bc4ff6f4d4d81bf037d3441347da Mon Sep 17 00:00:00 2001 From: Gerhard Wiesinger Date: Wed, 25 Jan 2012 21:04:14 +0100 Subject: [PATCH] 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 : 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: Andreas F=E4rber Signed-off-by: Gerhard Wiesinger Signed-off-by: Anthony Liguori --- hw/vmmouse.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/vmmouse.c b/hw/vmmouse.c index da2ea32df..5c80bc4f7 100644 --- a/hw/vmmouse.c +++ b/hw/vmmouse.c @@ -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)