Touchpad enable/disable hotkey broken in 2.6.35-27

Bug #722747 reported by Steve Magoun
38
This bug affects 5 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Maverick
Fix Released
High
Manoj Iyer
Natty
Fix Released
Undecided
Unassigned

Bug Description

Upgrading from 2.6.35-25.44 to 2.6.35-27.47 breaks the enable/disable Touchpad hotkey (Fn-F8) on a ThinkPad T510. Under the -25 kernel, the hotkey works as expected to toggle the touchpad on + off. Under the -27 kernel the touchpad does not get toggled on/off.

Using acpi_listen I see that Fn-F8 does send the following event in both the -25 and -27 kernel:
ibm/hotkey HKEY 00000080 00001008

I am using the -pae kernel.

ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: linux-image-2.6.35-27-generic-pae 2.6.35-27.47
Regression: Yes
Reproducible: Yes
ProcVersionSignature: Ubuntu 2.6.35-27.47-generic-pae 2.6.35.11
Uname: Linux 2.6.35-27-generic-pae i686
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.23.
Architecture: i386
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: ubuntu 1703 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xf2420000 irq 48'
   Mixer name : 'Conexant CX20585'
   Components : 'HDA:14f15069,17aa218b,00100301'
   Controls : 6
   Simple ctrls : 4
Card1.Amixer.info:
 Card hw:1 'NVidia'/'HDA NVidia at 0xcdefc000 irq 16'
   Mixer name : 'Nvidia GPU 0b HDMI/DP'
   Components : 'HDA:10de000b,10de0101,00100100'
   Controls : 16
   Simple ctrls : 4
Card29.Amixer.info:
 Card hw:29 'ThinkPadEC'/'ThinkPad Console Audio Control at EC reg 0x30, fw 6MHT43WW-1.18'
   Mixer name : 'ThinkPad EC 6MHT43WW-1.18'
   Components : ''
   Controls : 1
   Simple ctrls : 1
Card29.Amixer.values:
 Simple mixer control 'Console',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [on]
Date: Mon Feb 21 13:26:51 2011
HibernationDevice: RESUME=UUID=5a41994b-d1f5-4047-8860-3ab0c7c06a6d
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release i386 (20101007)
MachineType: LENOVO 434926U
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.35-27-generic-pae root=UUID=927f3def-3e88-42bb-8619-225eea8ba095 ro quiet splash
ProcEnviron:
 LANG=en_US.utf8
 SHELL=/bin/bash
RelatedPackageVersions: linux-firmware 1.38
SourcePackage: linux
dmi.bios.date: 10/26/2010
dmi.bios.vendor: LENOVO
dmi.bios.version: 6MET81WW (1.41 )
dmi.board.name: 434926U
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr6MET81WW(1.41):bd10/26/2010:svnLENOVO:pn434926U:pvrThinkPadT510:rvnLENOVO:rn434926U:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 434926U
dmi.product.version: ThinkPad T510
dmi.sys.vendor: LENOVO

Revision history for this message
Steve Magoun (smagoun) wrote :
Changed in linux (Ubuntu):
status: New → Triaged
Chris Van Hoof (vanhoof)
Changed in linux (Ubuntu):
assignee: nobody → Manoj Iyer (manjo)
importance: Undecided → Critical
tags: added: hwe-blocker
Revision history for this message
Manoj Iyer (manjo) wrote :

Please test the kernel in

http://kernel.ubuntu.com/~manjo/maverick/lp722747/

I tested this on a T410 and the FN+F8 disables and enables the touchpad.

Revision history for this message
Steve Magoun (smagoun) wrote :

The kernel in comment #2 fixes Fn+F8 fucntionality for me on a T510

Revision history for this message
Manoj Iyer (manjo) wrote :

SRU JUSTIFICATION
=================

EFFECT
=======
Recent patches to thinkpad_acpi.c that was intended to add support for model-specific keymaps, and support KEY_CAMERA introduced a regression where it broke FN+F8 (touchpad disable key).

FIX
===
upstream commit to use the correct size for keymap entries fixed this regression.

TESTING
========
This upstream patch was tested by me on T410 and also on T510 by Steve Magoun and reported to fix this regression.

Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Natty):
assignee: Manoj Iyer (manjo) → nobody
status: Triaged → Fix Released
Changed in linux (Ubuntu Maverick):
assignee: nobody → Manoj Iyer (manjo)
importance: Undecided → High
status: New → In Progress
Changed in linux (Ubuntu Natty):
importance: Critical → Undecided
Revision history for this message
Colin Watson (cjwatson) wrote : Please test proposed package

Accepted linux into maverick-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!

Changed in linux (Ubuntu Maverick):
status: In Progress → Fix Committed
Revision history for this message
Steve Magoun (smagoun) wrote :

The 2.6.35-27.48 kernel in maverick-proposed fixes this problem on a T510

Revision history for this message
Marius Gedminas (mgedmin) wrote :

2.6.35-27.48 fixed my ThinkVantage key too (bug 721213, marked as duplicate to this one).

Brad Figg (brad-figg)
tags: added: verification-done-maverick
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (12.1 KiB)

This bug was fixed in the package linux - 2.6.35-27.48

---------------
linux (2.6.35-27.48) maverick-proposed; urgency=low

  [ Steve Conklin ]

  * Release Tracking Bug
    - LP: #723335

  [ Upstream Kernel Changes ]

  * thinkpad-acpi: avoid keymap pitfall
    - LP: #722747

linux (2.6.35-27.47) maverick-proposed; urgency=low

  [ Brad Figg ]

  * Release Tracking Bug
    - LP: #716532

  [ Upstream Kernel Changes ]

  * Revert "USB: gadget: Allow function access to device ID data during
    bind()"
    - LP: #714732
  * net: fix rds_iovec page count overflow, CVE-2010-3865
    - LP: #709153
    - CVE-2010-3865
  * Input: fix typo in keycode validation supporting large scancodes
    - LP: #658198
  * net: ax25: fix information leak to userland, CVE-2010-3875
    - LP: #710714
    - CVE-2010-3875
  * net: ax25: fix information leak to userland harder, CVE-2010-3875
    - LP: #710714
    - CVE-2010-3875
  * net: packet: fix information leak to userland, CVE-2010-3876
    - LP: #710714
    - CVE-2010-3876
  * net: tipc: fix information leak to userland, CVE-2010-3877
    - LP: #711291
    - CVE-2010-3877
  * posix-cpu-timers: workaround to suppress the problems with mt exec,
    CVE-2010-4248
    - LP: #712609
    - CVE-2010-4248
  * sys_semctl: fix kernel stack leakage, CVE-2010-4083
    - LP: #712749
    - CVE-2010-4083
  * thinkpad-acpi: lock down size of hotkey keymap
    - LP: #712174
  * thinkpad-acpi: add support for model-specific keymaps
    - LP: #712174
  * thinkpad-acpi: Add KEY_CAMERA (Fn-F6) for Lenovo keyboards
    - LP: #712174
  * x86, hotplug: Use mwait to offline a processor, fix the legacy case
    - LP: #714732
  * fuse: verify ioctl retries
    - LP: #714732
  * fuse: fix ioctl when server is 32bit
    - LP: #714732
  * ALSA: hda: Use position_fix=1 for Acer Aspire 5538 to enable capture on
    internal mic
    - LP: #685161, #714732
  * ALSA: hda: Use model=lg quirk for LG P1 Express to enable playback and
    capture
    - LP: #595482, #714732
  * drm/radeon/kms: don't apply 7xx HDP flush workaround on AGP
    - LP: #714732
  * drm/kms: remove spaces from connector names (v2)
    - LP: #714732
  * drm/radeon/kms: fix vram base calculation on rs780/rs880
    - LP: #714732
  * nohz: Fix printk_needs_cpu() return value on offline cpus
    - LP: #714732
  * nohz: Fix get_next_timer_interrupt() vs cpu hotplug
    - LP: #714732
  * nfsd: Fix possible BUG_ON firing in set_change_info
    - LP: #714732
  * NFS: Fix fcntl F_GETLK not reporting some conflicts
    - LP: #714732
  * sunrpc: prevent use-after-free on clearing XPT_BUSY
    - LP: #714732
  * hwmon: (adm1026) Allow 1 as a valid divider value
    - LP: #714732
  * hwmon: (adm1026) Fix setting fan_div
    - LP: #714732
  * EDAC: Fix workqueue-related crashes
    - LP: #714732
  * amd64_edac: Fix interleaving check
    - LP: #714732
  * ASoC: Fix swap of left and right channels for WM8993/4 speaker boost
    gain
    - LP: #714732
  * ASoC: Fix off by one error in WM8994 EQ register bank size
    - LP: #714732
  * ASoC: WM8580: Fix R8 initial value
    - LP: #714732
  * ASoC: fix deemphasis control in wm8904/55/60 codecs
    - LP: #714732
  * bootmem: Add alloc_bootmem_...

Changed in linux (Ubuntu Maverick):
status: Fix Committed → Fix Released
Revision history for this message
Vaibhav (vnagarnaik) wrote :

I tested this on my Thinkpad T61 and could still reproduce the bug. I just
upgraded to the latest kernel. I see the ACPI event being sent using
acpi_listen.

$ dpkg -l | grep linux-image
ii linux-image-2.6.35-28-generic-pae 2.6.35-28.49 Linux kernel image for version 2.6.35 on x86

$ uname -a
Linux Tux 2.6.35-28-generic-pae #49-Ubuntu SMP Tue Mar 1 14:58:06 UTC 2011 i686 GNU/Linux

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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