On Tue, 1 Mar 2016, Daniel Fraga wrote: > On Tue, 1 Mar 2016 15:55:00 -0500 (EST) > Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > > > No messages about "usbhid_start urb" or "no input endpoint!" or > > "usbhid_start fail urb"? That means usbhid_start() isn't getting > > called. Which means the device in question probably isn't being used > > at all. > > Do you know what this device is? What does > > /sys/kernel/debug/usb/devices show? > > I attached the output of /sys/kernel/debug/usb/devices. > > It's probably this one: > > T: Bus=03 Lev=02 Prnt=02 Port=05 Cnt=04 Dev#= 6 Spd=12 MxCh= 0 > D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 > P: Vendor=04f3 ProdID=0034 Rev= 0.12 > S: Manufacturer=ELAN > S: Product=Touchscreen > C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA > I:* If#= 0 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid > E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=1ms > E: Ad=02(O) Atr=03(Int.) MxPS= 32 Ivl=10ms Yes, that's right. > In fact this seems to be the touchscreen "Elan" on the display, > but since I'm using this laptop with an external monitor, I didn't even > mind to use it (since I don't even use touchscreen at all). > > Do you want me to load the module for the Elan driver or is it > irrelevant? For now it's irrelevant. Try loading it if you want; it might make the problem disappear. But we still have to fix the problem. > > Let's make sure this is really what's happening. Please try this > > patch. > > Ok, with this patch I got before suspend: > > [ 3.558767] usb 3-1.6: new full-speed USB device number 6 using ehci-pci > [ 3.651808] usbhid 3-1.6:1.0: usbhid_probe -> 0 Okay, as I thought -- usbhid_start() isn't getting called. > As far as I know, this shouldn't happen even if the Elan driver module isn't loaded, > right? But if you ask me to load the Elan driver module, ok, I can do it and test with the > driver loaded... Don't worry about the Elan driver. Instead, let's see if this patch fixes the problem. Alan Stern Index: usb-4.4/drivers/hid/usbhid/hid-core.c =================================================================== --- usb-4.4.orig/drivers/hid/usbhid/hid-core.c +++ usb-4.4/drivers/hid/usbhid/hid-core.c @@ -83,6 +83,7 @@ static int hid_start_in(struct hid_devic spin_lock_irqsave(&usbhid->lock, flags); if ((hid->open > 0 || hid->quirks & HID_QUIRK_ALWAYS_POLL) && + usbhid->urbin && !test_bit(HID_DISCONNECTED, &usbhid->iofl) && !test_bit(HID_SUSPENDED, &usbhid->iofl) && !test_and_set_bit(HID_IN_RUNNING, &usbhid->iofl)) { @@ -1457,10 +1458,13 @@ static int hid_post_reset(struct usb_int clear_bit(HID_RESET_PENDING, &usbhid->iofl); spin_unlock_irq(&usbhid->lock); hid_set_idle(dev, intf->cur_altsetting->desc.bInterfaceNumber, 0, 0); - status = hid_start_in(hid); - if (status < 0) - hid_io_error(hid); - usbhid_restart_queues(usbhid); + + if (test_bit(HID_STARTED, &usbhid->iofl)) { + status = hid_start_in(hid); + if (status < 0) + hid_io_error(hid); + usbhid_restart_queues(usbhid); + } return 0; } -- 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