diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2011-04-29 09:27:07 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-04-29 09:27:07 -0700 |
commit | 4a31df66310225c0d000c9dfe586d4c6e7785ade (patch) | |
tree | 10cfe5f36148550ae3c15323fcb17665be77e9ee | |
parent | fde93d456b0759ce67413c6f31ae8a1a3102f0b1 (diff) | |
download | longterm-queue-2.6.33-4a31df66310225c0d000c9dfe586d4c6e7785ade.tar.gz |
.33 patches
-rw-r--r-- | queue-2.6.33/input-xen-kbdfront-fix-mouse-getting-stuck-after-save-restore.patch | 63 | ||||
-rw-r--r-- | queue-2.6.33/series | 1 |
2 files changed, 64 insertions, 0 deletions
diff --git a/queue-2.6.33/input-xen-kbdfront-fix-mouse-getting-stuck-after-save-restore.patch b/queue-2.6.33/input-xen-kbdfront-fix-mouse-getting-stuck-after-save-restore.patch new file mode 100644 index 0000000..f8b6322 --- /dev/null +++ b/queue-2.6.33/input-xen-kbdfront-fix-mouse-getting-stuck-after-save-restore.patch @@ -0,0 +1,63 @@ +From c36b58e8a9112017c2bcc322cc98e71241814303 Mon Sep 17 00:00:00 2001 +From: Igor Mammedov <imammedo@redhat.com> +Date: Mon, 18 Apr 2011 10:17:17 -0700 +Subject: Input: xen-kbdfront - fix mouse getting stuck after save/restore + +From: Igor Mammedov <imammedo@redhat.com> + +commit c36b58e8a9112017c2bcc322cc98e71241814303 upstream. + +Mouse gets "stuck" after restore of PV guest but buttons are in working +condition. + +If driver has been configured for ABS coordinates at start it will get +XENKBD_TYPE_POS events and then suddenly after restore it'll start getting +XENKBD_TYPE_MOTION events, that will be dropped later and they won't get +into user-space. + +Regression was introduced by hunk 5 and 6 of +5ea5254aa0ad269cfbd2875c973ef25ab5b5e9db +("Input: xen-kbdfront - advertise either absolute or relative +coordinates"). + +Driver on restore should ask xen for request-abs-pointer again if it is +available. So restore parts that did it before 5ea5254. + +Acked-by: Olaf Hering <olaf@aepfle.de> +Signed-off-by: Igor Mammedov <imammedo@redhat.com> +[v1: Expanded the commit description] +Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> +Signed-off-by: Dmitry Torokhov <dtor@mail.ru> + +--- + drivers/input/xen-kbdfront.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +--- a/drivers/input/xen-kbdfront.c ++++ b/drivers/input/xen-kbdfront.c +@@ -284,7 +284,7 @@ static void xenkbd_backend_changed(struc + enum xenbus_state backend_state) + { + struct xenkbd_info *info = dev_get_drvdata(&dev->dev); +- int val; ++ int ret, val; + + switch (backend_state) { + case XenbusStateInitialising: +@@ -295,6 +295,16 @@ static void xenkbd_backend_changed(struc + + case XenbusStateInitWait: + InitWait: ++ ret = xenbus_scanf(XBT_NIL, info->xbdev->otherend, ++ "feature-abs-pointer", "%d", &val); ++ if (ret < 0) ++ val = 0; ++ if (val) { ++ ret = xenbus_printf(XBT_NIL, info->xbdev->nodename, ++ "request-abs-pointer", "1"); ++ if (ret) ++ pr_warning("can't request abs-pointer\n"); ++ } + xenbus_switch_state(dev, XenbusStateConnected); + break; + diff --git a/queue-2.6.33/series b/queue-2.6.33/series index e16001e..d51e77e 100644 --- a/queue-2.6.33/series +++ b/queue-2.6.33/series @@ -22,3 +22,4 @@ nfs-don-t-lose-ms_synchronous-on-remount-of-noac-mount.patch nfsv4.1-ensure-state-manager-thread-dies-on-last-umount.patch agp-fix-arbitrary-kernel-memory-writes.patch agp-fix-oom-and-buffer-overflow.patch +input-xen-kbdfront-fix-mouse-getting-stuck-after-save-restore.patch |