Hi Cyril, Since there were no activity from the team and reported patch has fixed the issue (at least for me and few others on the upstream bug report page) I am planing to NMU it in 2-3 days into 5-days delayed queue.
See git patch for this NMU attached -- Yaroslav O. Halchenko Postdoctoral Fellow, Department of Psychological and Brain Sciences Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755 Phone: +1 (603) 646-9834 Fax: +1 (603) 646-1419 WWW: http://www.linkedin.com/in/yarik
From e064dcaed6f9988901e1f844a6c8b61c8c4c7997 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko <deb...@onerussian.com> Date: Thu, 30 Aug 2012 12:14:20 -0400 Subject: [PATCH] Adopted patch http://patchwork.freedesktop.org/patch/11873 to resolve segfaults upon suspend/resume (Closes: #681796) --- debian/changelog | 8 ++++ debian/patches/series | 1 + ...-DeviceOff-52496-backported-against-1.6.2.patch | 41 ++++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 debian/patches/synaptics-Reset-num_active_touches-on-DeviceOff-52496-backported-against-1.6.2.patch diff --git a/debian/changelog b/debian/changelog index 9801715..d21c22c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +xserver-xorg-input-synaptics (1.6.2-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Adopted patch http://patchwork.freedesktop.org/patch/11873 to resolve + segfaults upon suspend/resume (Closes: #681796) + + -- Yaroslav Halchenko <deb...@onerussian.com> Thu, 30 Aug 2012 11:58:56 -0400 + xserver-xorg-input-synaptics (1.6.2-1) unstable; urgency=low * New upstream release, from the 1.6 branch. diff --git a/debian/patches/series b/debian/patches/series index d694f00..ab8344e 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1,3 @@ #01-synaptics-dont-grab-if-not-on-current-VT.patch 02-do-not-use-synaptics-for-keyboards.patch +synaptics-Reset-num_active_touches-on-DeviceOff-52496-backported-against-1.6.2.patch diff --git a/debian/patches/synaptics-Reset-num_active_touches-on-DeviceOff-52496-backported-against-1.6.2.patch b/debian/patches/synaptics-Reset-num_active_touches-on-DeviceOff-52496-backported-against-1.6.2.patch new file mode 100644 index 0000000..70c0bb1 --- /dev/null +++ b/debian/patches/synaptics-Reset-num_active_touches-on-DeviceOff-52496-backported-against-1.6.2.patch @@ -0,0 +1,41 @@ +Author: Peter Hutterer +Subject: When disabling the device, reset num_active_touches to zero. + + Otherwise, num_active_touches stays at the value it was on DeviceOff(). + Future touches add to that value until the index may go past + priv->open_slots[]. That causes spurious memory corruption on touch ends. + + And as of 55fc42e7c9b4948cadd4f98ef7b6a3b12e268e3e we ignore pre-existing + touches anyway. + + Test-case: + - place num_touches fingers on the touchpad + - xinput disable <device> + - lift fingers + - xinput enable <device> + - place finger on device, num_active_touches is now (num_touches + 1) + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + +Bug: https://bugs.freedesktop.org/show_bug.cgi?id=52496 +Bug-Debian: http://bugs.debian.org/681796 +Last-Update: 2012-08-30 + +--- a/src/synaptics.c ++++ b/src/synaptics.c +@@ -1153,6 +1153,7 @@ SynapticsReset(SynapticsPrivate * priv) + priv->lastButtons = 0; + priv->prev_z = 0; + priv->prevFingers = 0; ++ priv->num_active_touches = 0; + #ifdef HAVE_MULTITOUCH + memset(priv->open_slots, 0, priv->num_slots * sizeof(int)); + #endif +@@ -3118,6 +3119,7 @@ UpdateTouchState(InputInfoPtr pInfo, str + if (hw->slot_state[i] == SLOTSTATE_OPEN) { + priv->open_slots[priv->num_active_touches] = i; + priv->num_active_touches++; ++ BUG_WARN(priv->num_active_touches > priv->num_slots); + } + else if (hw->slot_state[i] == SLOTSTATE_CLOSE) { + Bool found = FALSE; -- 1.7.10.4
signature.asc
Description: Digital signature