summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2011-04-29 09:27:07 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2011-04-29 09:27:07 -0700
commit4a31df66310225c0d000c9dfe586d4c6e7785ade (patch)
tree10cfe5f36148550ae3c15323fcb17665be77e9ee
parentfde93d456b0759ce67413c6f31ae8a1a3102f0b1 (diff)
downloadlongterm-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.patch63
-rw-r--r--queue-2.6.33/series1
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