Bug 16125

Summary: Thinkpad T410s fails to suspend with 2.6.34 kernel unless hid_ntrig is blacklisted
Product: Drivers Reporter: Cay Horstmann (cay)
Component: Input DevicesAssignee: drivers_input-devices
Status: RESOLVED OBSOLETE    
Severity: normal CC: alan, floe
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.34 Subsystem:
Regression: No Bisected commit-id:

Description Cay Horstmann 2010-06-04 18:53:52 UTC
I have a Thinkpad T410s with multitouch monitor, running Ubuntu 10.04. With kernel 2.6.34, suspend fails with messages

usbhid 2-1.8:1.1: suspend error -5
pm_op(): usb_dev_suspend+0x0/0x20 returns -5
PM: Device 2-1.8 failed to suspend async: error -5
PM: Some devices failed to suspend

That's the ntrig controller, judging by these startup messages.

input: N-trig DuoSense as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8:1.1/input/input10
input: N-trig DuoSense as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8:1.1/input/input11
input: N-trig DuoSense as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8:1.1/input/input12
ntrig 0003:1B96:0001.0002: input,hiddev96,hidraw1: USB HID v1.10 Device [N-trig DuoSense] on usb-0000:00:1d.0-1.8/input1

When I blacklist the hid_ntrig module, then suspend works.
Comment 1 Florian Echtler 2011-01-27 13:51:33 UTC
I found a workaround for this bug which involves recompiling the hid-ntrig kernel module.

In drivers/hid/hid-ntrig.c, comment out or remove line 419-423:

 /* This is needed for devices with more recent firmware versions */
 /*report = hdev->report_enum[HID_FEATURE_REPORT].report_id_hash[0x0a];
 if (report)
  usbhid_submit_report(hdev, report, USB_DIR_OUT);

 ntrig_report_version(hdev);*/

Rebuild and install the module and suspend works (and the touchscreen, too).

Florian