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 +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 +Tested-by: Adam Williamson +Reviewed-by: Peter Hutterer +Cc: Adam Williamson +Cc: Peter Hutterer +Signed-off-by: Hans de Goede +Signed-off-by: Dmitry Torokhov +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 +- Fix clicks getting lost with cypress_ps2 touchpads with recent + xorg-x11-drv-synaptics versions (bfdo#76341) + * Fri Mar 28 2014 Josh Boyer - 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)