Bug 6134

Summary: usb_submit_urb(ctrl) failed on 2.6.16-rc4-git10 kernel
Product: Drivers Reporter: Ryan Phillips (rphillips)
Component: Input DevicesAssignee: drivers_input-devices
Status: REJECTED INSUFFICIENT_DATA    
Severity: normal CC: bunk, kaouete, protasnb, quattro.no.spam, ryan.sammartino
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.16-rc4-git10 Subsystem:
Regression: --- Bisected commit-id:
Attachments: kernel config

Description Ryan Phillips 2006-02-26 18:14:50 UTC
Most recent kernel where this bug did not occur: 2.6.15.1
Distribution: Gentoo
Hardware Environment: AMD64 T6524 Emachine, MSFT Wireless Comfort Keyboard 1.0A
Software Environment: 
Problem Description: 

I wanted to try out the latest 2.6.16 pre-release and found that my keyboard
wouldn't work.  It works fine right now under 2.6.15.1.  I have the keyboard and
mouse connected to the PS2 ports.  When booting the newer kernel the mouse works
fine, but no keyboard input.  I sshed into the computer and grabbed the dmesg
and kernel config.  I get the following new errors on bootup:

drivers/usb/input/hid-core.c: usb_submit_urb(ctrl) failed
drivers/usb/input/hid-core.c: timeout initializing reports

Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
Memory: 2059772k/2096064k available (2415k kernel code, 35620k reserved, 777k
data, 164k init)
Calibrating delay using timer specific routine.. 4386.54 BogoMIPS (lpj=8773090)
Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 512K (64 bytes/line)
CPU: AMD Athlon(tm) 64 Processor 3500+ stepping 02
..MP-BIOS bug: 8254 timer not connected to IO-APIC
 failed.
 works.
Using local APIC timer interrupts.
result 12436562
Detected 12.436 MHz APIC timer.
testing NMI watchdog ... OK.
DMI 2.4 present.
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: Using configuration type 1
PCI: Using MMCONFIG at e0000000
ACPI: Subsystem revision 20060127
GSI 21 sharing vector 0xA9 and IRQ 21
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
ACPI: Assume root bridge [\_SB_.PCI0] bus is 0
PCI: Ignoring BAR0-3 of IDE controller 0000:00:14.1
Boot video device is 0000:01:00.0
PCI: Transparent bridge - 0000:00:14.4
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 11) *0, disabled.
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 10 11) *0, disabled.
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 10 11) *0, disabled.
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 10 11) *0, disabled.
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 *5 6 7 10 11)
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 *4 5 6 7 10 11)
ACPI: PCI Interrupt Link [LNK0] (IRQs 3 4 5 6 7 *10 11), disabled.
ACPI: PCI Interrupt Link [LNK1] (IRQs 3 4 5 6 7 10 *11)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P2P_._PRT]
SCSI subsystem initialized
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
PCI: Cannot allocate resource region 3 of device 0000:00:00.0
PCI: Bridge: 0000:00:02.0
  IO window: e000-efff
  MEM window: fdd00000-fddfffff
  PREFETCH window: d0000000-dfffffff
PCI: Bridge: 0000:00:14.4
  IO window: d000-dfff
  MEM window: fdc00000-fdcfffff
  PREFETCH window: fde00000-fdefffff
PCI: Setting latency timer of device 0000:00:02.0 to 64
IA32 emulation $Id: sys_ia32.c,v 1.32 2002/03/24 13:02:28 ak Exp $
fuse init (API version 7.6)
Initializing Cryptographic API
io scheduler noop registered
io scheduler cfq registered (default)
PCI: Setting latency timer of device 0000:00:02.0 to 64
pcie_portdrv_probe->Dev[5a34:1002] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:02.0:pcie00]
Allocate Port Service[0000:00:02.0:pcie01]
Allocate Port Service[0000:00:02.0:pcie03]
Real Time Clock Driver v1.12ac
Linux agpgart interface v0.101 (c) Dave Jones
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ATIIXP: IDE controller at PCI slot 0000:00:14.1
GSI 16 sharing vector 0xB1 and IRQ 16
ACPI: PCI Interrupt 0000:00:14.1[A] -> GSI 16 (level, low) -> IRQ 16
ATIIXP: chipset revision 0
ATIIXP: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xf300-0xf307, BIOS settings: hda:pio, hdb:pio
    ide1: BM-DMA at 0xf308-0xf30f, BIOS settings: hdc:pio, hdd:pio
Probing IDE interface ide0...
hda: ST3200826A, ATA DISK drive
hdb: IC35L060AVER07-0, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: TSSTcorpCD/DVDW TS-H552B, ATAPI CD/DVD-ROM drive
hdd: LITE-ON CD-ROM LTN-489S, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 512KiB
hda: 390721968 sectors (200049 MB) w/8192KiB Cache, CHS=24321/255/63, UDMA(100)
hda: cache flushes supported
 hda: hda1 hda2 hda3 < hda5 hda6 hda7 >
hdb: max request size: 128KiB
hdb: 120103200 sectors (61492 MB) w/1916KiB Cache, CHS=65535/16/63, UDMA(100)
hdb: cache flushes not supported
 hdb: hdb1 hdb2
hdc: ATAPI 48X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
hdd: ATAPI 48X CD-ROM drive, 128kB Cache, UDMA(33)
mice: PS/2 mouse device common for all mice
Advanced Linux Sound Architecture Driver Version 1.0.11rc2 (Wed Jan 04 08:57:20
2006 UTC).
ACPI: PCI Interrupt 0000:02:01.0[A] -> GSI 21 (level, low) -> IRQ 21
ALSA device list:
  #0: SBLive! Value [CT4832] (rev.7, serial:0x80271102) at 0xdf00, irq 21
NET: Registered protocol family 2
IP route cache hash table entries: 65536 (order: 7, 524288 bytes)
TCP established hash table entries: 262144 (order: 9, 2097152 bytes)
TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
TCP: Hash tables configured (established 262144 bind 65536)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
ACPI wakeup devices:
PCI0 USB0 USB1 USB2 AUDO  P2P  MAC
ACPI: (supports S0 S3 S4 S5)
input: AT Translated Set 2 keyboard as /class/input/input0
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting.  Commit interval 5 seconds
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 164k freed
input: ImExPS/2 Generic Explorer Mouse as /class/input/input1
Adding 530104k swap on /dev/hda6.  Priority:-1 extents:1 across:530104k
EXT3 FS on hda5, internal journal
EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hda7, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
usbcore: registered new driver usbfs
usbcore: registered new driver hub
libata version 1.20 loaded.
sata_sil 0000:00:11.0: version 0.9
GSI 17 sharing vector 0xB9 and IRQ 17
ACPI: PCI Interrupt 0000:00:11.0[A] -> GSI 23 (level, low) -> IRQ 17
ata1: SATA max UDMA/100 cmd 0xFFFFC20010138080 ctl 0xFFFFC2001013808A bmdma
0xFFFFC20010138000 irq 17
ata2: SATA max UDMA/100 cmd 0xFFFFC200101380C0 ctl 0xFFFFC200101380CA bmdma
0xFFFFC20010138008 irq 17
ata1: SATA link down (SStatus 0)
scsi0 : sata_sil
ata2: SATA link down (SStatus 0)
scsi1 : sata_sil
GSI 18 sharing vector 0xC1 and IRQ 18
ACPI: PCI Interrupt 0000:00:12.0[A] -> GSI 22 (level, low) -> IRQ 18
ata3: SATA max UDMA/100 cmd 0xFFFFC2001013A080 ctl 0xFFFFC2001013A08A bmdma
0xFFFFC2001013A000 irq 18
ata4: SATA max UDMA/100 cmd 0xFFFFC2001013A0C0 ctl 0xFFFFC2001013A0CA bmdma
0xFFFFC2001013A008 irq 18
ata3: SATA link down (SStatus 0)
scsi2 : sata_sil
ata4: SATA link down (SStatus 0)
scsi3 : sata_sil
ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
GSI 19 sharing vector 0xC9 and IRQ 19
ACPI: PCI Interrupt 0000:00:13.0[A] -> GSI 19 (level, low) -> IRQ 19
ohci_hcd 0000:00:13.0: OHCI Host Controller
ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus number 1
ohci_hcd 0000:00:13.0: irq 19, io mem 0xfe02d000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 4 ports detected
ACPI: PCI Interrupt 0000:00:13.1[A] -> GSI 19 (level, low) -> IRQ 19
ohci_hcd 0000:00:13.1: OHCI Host Controller
ohci_hcd 0000:00:13.1: new USB bus registered, assigned bus number 2
ohci_hcd 0000:00:13.1: irq 19, io mem 0xfe02c000
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 4 ports detected
ACPI: PCI Interrupt 0000:00:13.2[A] -> GSI 19 (level, low) -> IRQ 19
ehci_hcd 0000:00:13.2: EHCI Host Controller
ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus number 3
ehci_hcd 0000:00:13.2: irq 19, io mem 0xfe02b000
ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 8 ports detected
usb 2-3: new low speed USB device using ohci_hcd and address 2
usb 2-3: new low speed USB device using ohci_hcd and address 3
usb 2-3: configuration #1 chosen from 1 choice
usb 2-4: new full speed USB device using ohci_hcd and address 4
usb 2-4: configuration #1 chosen from 1 choice
usbcore: registered new driver hiddev
Initializing USB Mass Storage driver...
8139too Fast Ethernet driver 0.9.27
GSI 20 sharing vector 0xD1 and IRQ 20
ACPI: PCI Interrupt 0000:02:03.0[A] -> GSI 20 (level, low) -> IRQ 20
eth0: RealTek RTL8139 at 0xdd00, 00:13:d3:61:3a:7d, IRQ 20
eth0:  Identified 8139 chip type 'RTL-8100B/8139D'
ieee1394: Initialized config rom entry `ip1394'
ACPI: PCI Interrupt 0000:02:04.0[A] -> GSI 21 (level, low) -> IRQ 21
PCI: Via IRQ fixup for 0000:02:04.0, from 4 to 5
ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[21]  MMIO=[fdcfe000-fdcfe7ff]  Max
Packet=[2048]  IR/IT contexts=[4/8]
USB Universal Host Controller Interface driver v2.3
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
ieee1394: Host added: ID:BUS[0-00:1023]  GUID[0010dc00009d151d]
eth1394: eth1: IEEE-1394 IPv4 over 1394 Ethernet (fw-host0)
drivers/usb/input/hid-core.c: usb_submit_urb(ctrl) failed
drivers/usb/input/hid-core.c: timeout initializing reports
input: Logitech Logitech Extreme 3D as /class/input/input2
input: USB HID v1.10 Joystick [Logitech Logitech Extreme 3D] on usb-0000:00:13.1-3
scsi4 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 4
usb-storage: waiting for device to settle before scanning
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
  Vendor: Generic   Model: USB SD Reader     Rev: 1.00
  Type:   Direct-Access                      ANSI SCSI revision: 00
sd 4:0:0:0: Attached scsi removable disk sda
  Vendor: Generic   Model: USB CF Reader     Rev: 1.01
  Type:   Direct-Access                      ANSI SCSI revision: 00
sd 4:0:0:1: Attached scsi removable disk sdb
  Vendor: Generic   Model: USB SM Reader     Rev: 1.02
  Type:   Direct-Access                      ANSI SCSI revision: 00
sd 4:0:0:2: Attached scsi removable disk sdc
  Vendor: Generic   Model: USB MS Reader     Rev: 1.03
  Type:   Direct-Access                      ANSI SCSI revision: 00
sd 4:0:0:3: Attached scsi removable disk sdd
usb-storage: device scan complete
Comment 1 Ryan Phillips 2006-02-26 18:16:08 UTC
Created attachment 7482 [details]
kernel config
Comment 2 Vojtech Pavlik 2006-02-26 22:33:03 UTC
The only change we've made to the hid driver at the time of this breakage
is the removal of the usb_clear_halt() call, because it was breaking other
keyboards.

For those that needed it, adding the keyboard to the blacklist inside hid-core.c,
with a flag of HID_QUIRK_NOGET should fix the problem.
Comment 3 Greg Kroah-Hartman 2006-02-26 23:22:38 UTC
Can you attach the output of /proc/bus/usb/devices with the keyboard plugged in?
Comment 4 Ryan Phillips 2006-02-26 23:56:08 UTC
I think it has been glossed over that I said I plugged _both_ the mouse and
keyboard adapter into the PS2 ports of the computer.  The keyboard plug on the
wireless adapter is PS2, while the mouse plug is USB w/ a USB->PS2 adapter.

Ars Technica has a nice photo:
http://arstechnica.com/reviews/hardware/wireless-keyboard-mouse.ars/4
http://media.arstechnica.com/reviews/hardware/wireless-keyboard-mouse.media/MS-RFmouse+base-400px.jpg

Yes, it's weird.

Will the USB dump still be useful?
Comment 5 Ryan Phillips 2006-02-27 00:11:57 UTC
I've researched my kernel logs a bit more, and have to say that the
usb_submit_urb has happened with the 2.6.15.1 kernel I am running.  I don't
think this is a USB issue.
Comment 6 Dmitry Torokhov 2006-02-27 06:15:08 UTC
Does booting with psmouse.resync_time=0 help?
Comment 7 Ryan Phillips 2006-02-27 08:51:21 UTC
I booted the git checkout that I did yesterday with the psmouse.resync_time=0
option set and I'm happy to report that the keyboard and mouse works.

What does psmouse.resync_time=0 do?
Comment 8 Greg Kroah-Hartman 2006-02-27 16:55:13 UTC
not a usb issue...
Comment 9 kakaouete 2006-03-30 05:16:23 UTC
hi, i get this same bug when i plug in a gamepad :
a logitech ndual action :

Vendor Id: 046d
Product Id: c216

i own two devices of this type : rev 2.00 and rev 3.00 and i get this error only 
with 2.00.

the logs :

usb 1-5.4: new low speed USB device using ehci_hcd and address 17
drivers/usb/input/hid-core.c: usb_submit_urb(ctrl) failed
drivers/usb/input/hid-core.c: timeout initializing reports

input: Logitech Logitech Dual Action as /class/input/input10
input: USB HID v1.10 Joystick [Logitech Logitech Dual Action] on
usb-0000:00:1d.7-5.4
Comment 10 kakaouete 2006-03-30 05:17:26 UTC
i forgot to say that i am using 2.6.15.4 .
Comment 11 Ryan T. Sammartino 2006-04-02 14:50:48 UTC
I also experience this problem with a Logitech Dual Action joypad.

Background:

Fresh Ubuntu Breezy install (which means kernel 2.6.12-10-686).

If I boot with the joypad plugged in, the Ubuntu splash screen freezes for a
while (on the "Loading modules bit"), then eventually dumps me back to the
console where I see this message.  Eventually the system becomes unstable and
locks up.

Here's what dmesg says about the joypad:

[4294999.502000] usb 3-1: new low speed USB device using uhci_hcd and address 2
[4295009.641000] drivers/usb/input/hid-core.c: usb_submit_urb(ctrl) failed
[4295009.641000] drivers/usb/input/hid-core.c: timeout initializing reports
[4295009.641000]
[4295009.647000] input: USB HID v1.10 Joystick [Logitech Logitech Dual Action]
on usb-0000:00:1d.2-1


On another system (Mandriva SE 2006, 2.6.12-17mdksmp), plugging the joypad in
does not produce the "failed" and "timeout" messages in dmesg; having the joypad
plugged in at boot does not introduce a long delay or instability.
Comment 12 Natalie Protasevich 2007-06-12 21:38:32 UTC
Any updates on the problems? Has anyone tried latest kernels?

Thanks,
--Natalie
Comment 13 Adrian Bunk 2007-09-18 11:24:31 UTC
Please reopen this bug if it's still present with kernel 2.6.22.
Comment 14 quattro.no.spam 2009-07-02 21:57:48 UTC
it seems to be still present in 2.6.28:

trying to control my monitor via usb.

after I connect the monitor:

[262143.301937] /build/buildd/linux-2.6.28/drivers/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed
[262143.301957] generic-usb 0003:056D:0002.0005: timeout initializing reports
[262143.302131] generic-usb 0003:056D:0002.0005: hiddev96,hidraw1: USB HID v1.10 Device [EIZO EIZO USB HID Monitor] on usb-0000:00:12.2-1.2.2.3/input0

linux version:
Linux licht 2.6.28-13-generic #44-Ubuntu SMP Tue Jun 2 07:55:09 UTC 2009 x86_64 GNU/Linux


# strace libhid-detach-device 056d:0002
...
open("/dev/bus/usb/001/011", O_RDWR)    = 3
ioctl(3, USBDEVFS_CLAIMINTERFACE, 0x7fff851136fc) = -1 EBUSY (Device or resource busy)
ioctl(3, USBDEVFS_CLAIMINTERFACE, 0x7fff8511372c) = -1 EBUSY (Device or resource busy)
ioctl(3, USBDEVFS_IOCTL, 0x7fff85113720) = 0
ioctl(3, USBDEVFS_CLAIMINTERFACE, 0x7fff8511372c) = 0
ioctl(3, USBDEVFS_CONTROL, 0x7fff851136b0) = -1 EPIPE (Broken pipe)
close(3)                                = 0
write(2, "hid_force_open failed with return"..., 43hid_force_open failed with return code 13.
) = 43
exit_group(1)                           = ?


please reopen this one.
best regards,
andreas