The kernel shoud set BTN_TOOL_DOUBLETAP and BTN_TOOL_TRIPLETAP only if the touchpad supports them

Bug #399787 reported by Alberto Milone
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Jaunty
Fix Released
Undecided
Unassigned

Bug Description

SRU request:

Impact: The kernel reports multi-tap events without checking whether they are supported by the device. As a consequence, the X.org driver reports that multi-taps are supported in any case. This prevents us from distinguishing between (and therefore from fixing) problems affecting touchpads which support multi-taps and the ones which don't.

Furthermore applications (under development for OEM) which rely on the ability to detect such capability will fail.

We need this for the Dell Mini 10v and for other netbooks affected by the same problem.

Fix: commit e42b6646a8298fe06a33a0f68dab661335f5db6e in Linus' branch (available since 2.6.29) makes sure that BTN_TOOL_DOUBLETAP and BTN_TOOL_TRIPLETAP are set only if the device actually supports them:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blobdiff;f=drivers/input/mouse/synaptics.c;h=865fc69e9bc39e8ef81b213722e572c95917fb0e;hp=d349c4a5e3e84488a4e812e33e6e547aac4d97e7;hb=e42b6646a8298fe06a33a0f68dab661335f5db6e;hpb=cec87e38e92cdfe86678ca2a5c29c38d05127601

Testcase: the quickest way to test this is to install Karmic's X.org Synaptics driver in Jaunty, restart X, type "xinput list-props $YOUR_TOUCHPAD_NAME" and check that "Synaptics Capabilities" reports 1, 1, 1, 0, 0 (the last two integers refer to the availability of double-taps and triple-taps respectively) on the Dell Mini 10v. Without the fix it reports 1, 1, 1, 1, 1.

Binary package hint: 2.6.28-13-generic

Description: Ubuntu 9.04
Release: 9.04
linux-image-generic:
  Installed: 2.6.28.13.17

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Marking this Fix Released for the actively developed Karmic kernel. It also appears this has recently been applied to the Jaunty kernel git tree:

https://lists.ubuntu.com/archives/kernel-team/2009-July/006524.html

ogasawara@yoji:~/ubuntu-jaunty$ git log a6123b04d1c81e8210bdd1d9507f341286873de1
commit a6123b04d1c81e8210bdd1d9507f341286873de1
Author: Peter Hutterer <email address hidden>
Date: Thu Nov 20 15:24:42 2008 -0500

    Input: synaptics - report multi-taps only if supported by the device

    BugLink: https://bugs.launchpad.net/ubuntu/+bug/399787

    commit e42b6646a8298fe06a33a0f68dab661335f5db6e upstream

    According to Section 2.4.4 of the Synaptics TouchPad Interfacing
    Guide, bit 2 specifies if multi-finger detection is provided by
    the touchpad. Thus, only set BTN_TOOL_DOUBLETAP and
    BTN_TOOL_TRIPLETAP if the device actually supports it.

    Signed-off-by: Peter Hutterer <email address hidden>
    Signed-off-by: Dmitry Torokhov <email address hidden>
    Signed-off-by: Alberto Milone <email address hidden>
    Acked-by: Stefan Bader <email address hidden>
    Acked-by: Tim Gardner <email address hidden>

Changed in linux (Ubuntu Jaunty):
status: New → Fix Released
status: Fix Released → Fix Committed
Changed in linux (Ubuntu):
status: New → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote :

Accepted linux into jaunty-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
Revision history for this message
Alberto Milone (albertomilone) wrote :

I'm glad to confirm that things work as they should with the kernel in -proposed:

linux-image-2.6.28-15-generic:
  Installed: 2.6.28-15.51
  Candidate: 2.6.28-15.51
  Version table:
 *** 2.6.28-15.51 0
        500 http://it.archive.ubuntu.com jaunty-proposed/main Packages
        100 /var/lib/dpkg/status

As you can see, BTN_TOOL_DOUBLETAP and BTN_TOOL_TRIPLETAP (the last two digits) are reported as 0 (instead of 1):
Synaptics Capabilities (290): 1, 1, 1, 0, 0

The full output of xinput list-props is attached.

Thanks a lot for including the change in the kernel.

Martin Pitt (pitti)
tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 2.6.28-15.52

---------------
linux (2.6.28-15.52) jaunty-proposed; urgency=low

  [ Stefan Bader ]

  * Revert "SAUCE: ACPI: Populate DIDL before registering ACPI video device
    on Intel"
    - LP: #423296
  * SAUCE: Allow less restrictive acpi video detection
    - LP: #333386

  [ Upstream Kernel Changes ]

  * include drivers/pci/hotplug/* in -virtual package
    - LP: #364916
  * ext4: don't call jbd2_journal_force_commit_nested without journal
    - LP: #418197
  * ext4: fix ext4_free_inode() vs. ext4_claim_inode() race
    - LP: #418197
  * ext4: fix bogus BUG_ONs in in mballoc code
    - LP: #418197
  * ext4: fix typo which causes a memory leak on error path
    - LP: #418197
  * ext4: Fix softlockup caused by illegal i_file_acl value in on-disk
    inode
    - LP: #418197
  * ext4: Fix sub-block zeroing for writes into preallocated extents
    - LP: #418197
  * jbd2: Call journal commit callback without holding j_list_lock
    - LP: #418197
  * ext4: Print the find_group_flex() warning only once
    - LP: #367065
  * ext4: really print the find_group_flex fallback warning only once
    - LP: #367065

linux (2.6.28-15.51) jaunty-proposed; urgency=low

  [ Colin Ian King ]

  * SAUCE: wireless: hostap, fix oops due to early probing interrupt
    - LP: #254837

  [ Leann Ogasawara ]

  * Add the atl1c driver to support Atheros AR8132
    - LP: #415358
  * Updating configs to enable the atl1c driver
    - LP: #415358

  [ Stefan Bader ]

  * Revert "SAUCE: input: Blacklist digitizers from joydev.c"
    - LP: #300143
  * SAUCE: Fix the exported name for e1000e-next
    - LP: #402890
  * SAUCE: Fix incorrect stable backport to bas_gigaset
    - LP: #417732
  * SAUCE: Remove the atl2 driver from the ubuntu subdirectory
    - LP: #419438

linux (2.6.28-15.50) jaunty-proposed; urgency=low

  [ Colin Ian King ]

  * SAUCE: radio-maestro: fix panics on probe failure
    - LP: #357724
  * SAUCE: HDA Intel, sigmatel: Enable speakers on HP Mini 1000
    - LP: #318942

  [ Jerone Young ]

  * SAUCE: Fix Soltech TA12 volume hotkeys not sending key release in
    Jaunty
    - LP: #397499

  [ John Johansen ]

  * SAUCE: remove AppArmor debug check for calls from interrupt context
    - LP: #350789

  [ Manoj Iyer ]

  * SAUCE: Fix kernel panic when SELinux is enabled.
    - LP: #395219

  [ Matthew Garrett ]

  * SAUCE: ACPI: Populate DIDL before registering ACPI video device on
    Intel

  [ Michael Frey (Senior Manager, MID ]

  * SAUCE: Fix for internal microphone for Dell Mini10V
    - LP: #394793

  [ Tim Gardner ]

  * SAUCE: Added e1000e from sourceforge.
    - LP: #402890

  [ Upstream Kernel Changes ]

  * Input: synaptics - report multi-taps only if supported by the device
    - LP: #399787
  * ftdi_sio: fix kref leak
    - LP: #396930, #376128
  * IPv6: add "disable" module parameter support to ipv6.ko
    - LP: #351656

 -- Stefan Bader <email address hidden> Thu, 27 Aug 2009 15:09:06 +0200

Changed in linux (Ubuntu Jaunty):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.