[Bugme-new] [Bug 4427] New: ehci-hcd stops responding when USB 1.1 storage device inserted

bugme-daemon at osdl.org bugme-daemon at osdl.org
Wed Mar 30 23:07:07 PST 2005


http://bugme.osdl.org/show_bug.cgi?id=4427

           Summary: ehci-hcd stops responding when USB 1.1 storage device
                    inserted
    Kernel Version: 2.6.11 (vanilla)
            Status: NEW
          Severity: high
             Owner: greg at kroah.com
         Submitter: vitko at post.cz


Distribution: Debian/unstable
Hardware Environment: Pentium III (Intel 440BX/ZX/DX)
Software Environment: kernel 2.6.11 (vanilla)

Problem Description:

USB 2.0 port freezes when specific USB 1.1 flash drive is inserted. No kernel
messages since then, even when plugging/unplugging other devices.

Steps to reproduce:

rmmod ehci_hcd for a clean start, dmesg output follows:

   ehci_hcd 0000:00:10.2: remove, state 1
   ehci_hcd 0000:00:10.2: roothub graceful disconnect
   usb usb2: USB disconnect, address 1
   usb usb2: usb_disable_device nuking all URBs
   ehci_hcd 0000:00:10.2: shutdown urb df860e60 pipe 40408180 ep1in-intr
   usb usb2: unregistering interface 2-0:1.0
   usb 2-0:1.0: hotplug
   usb usb2: unregistering device
   usb usb2: hotplug
   ehci_hcd 0000:00:10.2: stop
   ehci_hcd 0000:00:10.2: reset command 01000b (park)=0 ithresh=1 period=256
Reset RUN
   ehci_hcd 0000:00:10.2: irq normal 0 err 0 reclaim 0 (lost 0)
   ehci_hcd 0000:00:10.2: complete 0 unlink 0
   ehci_hcd 0000:00:10.2: ehci_stop completed status 1000 Halt
   ehci_hcd 0000:00:10.2: USB bus 2 deregistered

Now modprobe ehci-hcd

   ehci_hcd: block sizes: qh 128 qtd 96 itd 192 sitd 96
   ACPI: PCI interrupt 0000:00:10.2[C] -> GSI 9 (level, low) -> IRQ 9
   ehci_hcd 0000:00:10.2: NEC Corporation USB 2.0
   ehci_hcd 0000:00:10.2: reset hcs_params 0x2395 dbg=0 cc=2 pcc=3 ports=5
   ehci_hcd 0000:00:10.2: reset portroute 1 0 1 0 0 
   ehci_hcd 0000:00:10.2: reset hcc_params e806 thresh 0 uframes 256/512/1024 park
   ehci_hcd 0000:00:10.2: capability 0001 at e8
   ehci_hcd 0000:00:10.2: irq 9, pci mem 0xfedff800
   ehci_hcd 0000:00:10.2: new USB bus registered, assigned bus number 2
   ehci_hcd 0000:00:10.2: reset command 080b02 park=3 ithresh=8 period=1024
Reset HALT
   ehci_hcd 0000:00:10.2: park 0
   ehci_hcd 0000:00:10.2: init command 010009 (park)=0 ithresh=1 period=256 RUN
   ehci_hcd 0000:00:10.2: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004
   ehci_hcd 0000:00:10.2: supports USB remote wakeup
   usb usb2: new device strings: Mfr=3, Product=2, SerialNumber=1
   usb usb2: default language 0x0409
   usb usb2: Product: NEC Corporation USB 2.0
   usb usb2: Manufacturer: Linux 2.6.11v04y ehci_hcd
   usb usb2: SerialNumber: 0000:00:10.2
   usb usb2: hotplug
   usb usb2: adding 2-0:1.0 (config #1, interface 0)
   usb 2-0:1.0: hotplug
   hub 2-0:1.0: usb_probe_interface
   hub 2-0:1.0: usb_probe_interface - got id
   hub 2-0:1.0: USB hub found
   hub 2-0:1.0: 5 ports detected
   hub 2-0:1.0: standalone hub
   hub 2-0:1.0: individual port power switching
   hub 2-0:1.0: individual port over-current protection
   hub 2-0:1.0: Single TT
   hub 2-0:1.0: TT requires at most 8 FS bit times
   hub 2-0:1.0: power on to power good time: 20ms
   hub 2-0:1.0: local power source is good
   hub 2-0:1.0: enabling power on all ports
   hub 2-0:1.0: state 5 ports 5 chg 003e evt 003f
   hub 2-0:1.0: port 1, status 0100, change 0000, 12 Mb/s
   hub 2-0:1.0: port 2, status 0100, change 0000, 12 Mb/s
   hub 2-0:1.0: port 3, status 0100, change 0000, 12 Mb/s
   hub 2-0:1.0: port 4, status 0100, change 0000, 12 Mb/s
   hub 2-0:1.0: port 5, status 0100, change 0000, 12 Mb/s

Now I'm going to plug in Swissbit Blacksilver 32 MB, device details from
udevinfo when used with uhci-hcd:

   BUS="usb"
   ID="1-2"
   DRIVER="usb"
   SYSFS{bConfigurationValue}="1"
   SYSFS{bDeviceClass}="00"
   SYSFS{bDeviceProtocol}="00"
   SYSFS{bDeviceSubClass}="00"
   SYSFS{bMaxPower}="100mA"
   SYSFS{bNumConfigurations}="1"
   SYSFS{bNumInterfaces}=" 1"
   SYSFS{bcdDevice}="0110"
   SYSFS{bmAttributes}="80"
   SYSFS{detach_state}="0"
   SYSFS{devnum}="4"
   SYSFS{idProduct}="6828"
   SYSFS{idVendor}="1370"
   SYSFS{manufacturer}="SWISSBIT"
   SYSFS{maxchild}="0"
   SYSFS{product}="Black Silver    "
   SYSFS{serial}="403501400A23F962"
   SYSFS{speed}="12"
   SYSFS{version}=" 1.10"

and dmesg output after plugging the device in

   hub 2-0:1.0: state 5 ports 5 chg 0000 evt 0010
   ehci_hcd 0000:00:10.2: GetStatus port 4 status 001803 POWER sig=j  CSC CONNECT
   hub 2-0:1.0: port 4, status 0501, change 0001, 480 Mb/s
   hub 2-0:1.0: debounce: port 4: total 100ms stable 100ms status 0x501
   ehci_hcd 0000:00:10.2: port 4 full speed --> companion
   ehci_hcd 0000:00:10.2: GetStatus port 4 status 003801 POWER OWNER sig=j  CONNECT

now port is frozen, no other dmesg info when i try to plug/unplug anything.

It is still possible to rmmod ehci-hcd and reload, ehci-hcd then plays fine with
any other storage device, also can be repeatedly frozen using aforementioned
Swissbit Blacksilver 32 MB flash disk.

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



More information about the Bugme-new mailing list