summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--input-cypress_ps2-Don-t-report-the-cypress-PS-2-trac.patch50
-rw-r--r--kernel.spec10
2 files changed, 60 insertions, 0 deletions
diff --git a/input-cypress_ps2-Don-t-report-the-cypress-PS-2-trac.patch b/input-cypress_ps2-Don-t-report-the-cypress-PS-2-trac.patch
new file mode 100644
index 000000000..5d8b3b1b0
--- /dev/null
+++ b/input-cypress_ps2-Don-t-report-the-cypress-PS-2-trac.patch
@@ -0,0 +1,50 @@
+From c4aa64b54ecc029579b0c62e976d747a0e567dfc Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Fri, 21 Mar 2014 10:55:11 +0100
+Subject: [PATCH] input: cypress_ps2: Don't report the cypress PS/2 trackpads
+ as a button pad
+
+The cypress PS/2 trackpad models supported by the cypress_ps2 driver emulate
+BTN_RIGHT events in firmware based on the finger position, as part of this
+no motion events are sent when the finger is in the button area.
+
+The INPUT_PROP_BUTTONPAD property is there to indicate to userspace that
+BTN_RIGHT events should be emulated in userspace, which is not necessary
+in this case.
+
+When INPUT_PROP_BUTTONPAD is advertised userspace will wait for a motion event
+before propagating the button event higher up the stack, as it needs current
+abs x + y data for its BTN_RIGHT emulation. Since in the cypress_ps2 pads
+don't report motion events in the button area, this means that clicks in the
+button area end up being ignored, so INPUT_PROP_BUTTONPAD actually causes
+problems for these touchpads, and removing it fixes:
+
+https://bugs.freedesktop.org/show_bug.cgi?id=76341
+
+Reported-by: Adam Williamson <awilliam@redhat.com>
+Tested-by: Adam Williamson <awilliam@redhat.com>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Cc: Adam Williamson <awilliam@redhat.com>
+Cc: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Cc: stable@vger.kernel.org
+---
+ drivers/input/mouse/cypress_ps2.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/drivers/input/mouse/cypress_ps2.c b/drivers/input/mouse/cypress_ps2.c
+index 87095e2..8af34ff 100644
+--- a/drivers/input/mouse/cypress_ps2.c
++++ b/drivers/input/mouse/cypress_ps2.c
+@@ -409,7 +409,6 @@ static int cypress_set_input_params(struct input_dev *input,
+ __clear_bit(REL_X, input->relbit);
+ __clear_bit(REL_Y, input->relbit);
+
+- __set_bit(INPUT_PROP_BUTTONPAD, input->propbit);
+ __set_bit(EV_KEY, input->evbit);
+ __set_bit(BTN_LEFT, input->keybit);
+ __set_bit(BTN_RIGHT, input->keybit);
+--
+1.9.0
+
diff --git a/kernel.spec b/kernel.spec
index 94f48273d..622ab1c38 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -654,6 +654,9 @@ Patch25051: net-vhost-fix-total-length-when-packets-are-too-short.patch
#CVE-2014-2580 rhbz 1080084 1080086
Patch25052: net-xen-netback-disable-rogue-vif-in-kthread-context.patch
+#https://bugs.freedesktop.org/show_bug.cgi?id=76341
+#included in the input tree for-linux branch, will go upstream for 3.15
+Patch25053: input-cypress_ps2-Don-t-report-the-cypress-PS-2-trac.patch
# END OF PATCH DEFINITIONS
%endif
@@ -1313,6 +1316,9 @@ ApplyPatch net-vhost-fix-total-length-when-packets-are-too-short.patch
#CVE-2014-2580 rhbz 1080084 1080086
ApplyPatch net-xen-netback-disable-rogue-vif-in-kthread-context.patch
+#https://bugs.freedesktop.org/show_bug.cgi?id=76341
+ApplyPatch input-cypress_ps2-Don-t-report-the-cypress-PS-2-trac.patch
+
# END OF PATCH APPLICATIONS
%endif
@@ -2092,6 +2098,10 @@ fi
# ||----w |
# || ||
%changelog
+* Mon Mar 31 2014 Hans de Goede <hdegoede@redhat.com>
+- Fix clicks getting lost with cypress_ps2 touchpads with recent
+ xorg-x11-drv-synaptics versions (bfdo#76341)
+
* Fri Mar 28 2014 Josh Boyer <jwboyer@fedoraproject.org> - 3.14.0-0.rc8.git1.1
- CVE-2014-2580 xen: netback crash trying to disable due to malformed packet (rhbz 1080084 1080086)
- CVE-2014-0077 vhost-net: insufficent big packet handling in handle_rx (rhbz 1064440 1081504)