Re: hid_ntrig prevents suspend from working

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2010-10-12 at 15:17 -0400, Alan Stern wrote:
> On Tue, 12 Oct 2010, Florian Echtler wrote:
> 
> > Hello everyone,
> > 
> > I've just installed Ubuntu 10.10 (64bit) with a 2.6.35 kernel on my
> > Lenovo T410s. This laptop has a N-Trig DuoSense digitizer which works
> > fine with hid_ntrig, however, as soon as this driver is loaded or was
> > loaded previously, suspend stops working. 
> > 
> > When the driver is loaded, the laptop immediately wakes up again after
> > the suspend attempt. When the driver has been unloaded, the laptop
> > suspends properly, but hangs on wakeup.
> > 
> > dmesg shows:
> > 
> > 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
> > 
> > The bug has already been reported to kernel bugzilla [1], however, there
> > hasn't been any recent activity. I'd like to help pin this bug down, it's 
> > the only annoyance in an otherwise flawlessly working machine. Therefore, 
> > I'd be glad for some starting points as to how to debug this.
> 
> It would be good to start by finding out where the -EIO error comes
> from.  One likely candidate is where
> drivers/hid/usbhid/hid-core.c:hid_suspend() calls usbhid_wait_io().  Is 
> that the source of the error?  Does the wait_event_timeout() call 
> actually time out?  Since the posted dmesg log was made without 
> CONFIG_PRINTK_TIME, we can't see if there really was a 10-second delay.
Sorry, my mistake:

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

So no noticeable delay here. Interestingly, however, there's a
significant delay when loading the driver:

[  895.253903] ntrig 0003:1B96:0001.0003: hidraw2: USB HID v1.10 Device
[N-trig DuoSense] on usb-0000:00:1d.0-1.8/input0
[  895.254142] ntrig 0003:1B96:0001.0003: Firmware version: 4.8.15.20.7
(2108 8fe2)
[  895.255956] /build/buildd/linux-2.6.35/drivers/hid/usbhid/hid-core.c:
submitting ctrl urb: Get_Report wValue=0x0101 wIndex=0x0001 wLength=10
[  905.228517] /build/buildd/linux-2.6.35/drivers/hid/usbhid/hid-core.c:
timeout waiting for ctrl or out queue to clear
[  905.228719] /build/buildd/linux-2.6.35/drivers/hid/usbhid/hid-core.c:
submitting ctrl urb: Get_Report wValue=0x0103 wIndex=0x0001 wLength=94
[  905.228732] /build/buildd/linux-2.6.35/drivers/hid/usbhid/hid-core.c:
usb_submit_urb(ctrl) failed
[  905.228754] ntrig 0003:1B96:0001.0004: timeout initializing reports
[  905.228868] input: N-trig DuoSense
as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8:1.1/input/input15
[  905.229205] input: N-trig DuoSense
as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8:1.1/input/input16
[  905.229403] input: N-trig DuoSense
as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8:1.1/input/input17
[  905.229609] ntrig 0003:1B96:0001.0004: input,hidraw3: USB HID v1.10
Device [N-trig DuoSense] on usb-0000:00:1d.0-1.8/input1


> Or does the error come from the hid->driver->suspend() call instead?
I'll try to find out.

Florian
-- 
0666 - Filemode of the Beast

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux