On Tue, 2 Mar 2004, David Brownell wrote:

> > I could imagine that "misc OHCI updates" patch of a few weeks
> > back speeding up an OHCI implementation because it had less
> > work to do (no periodic schedule dma), exposing such a race.
> 
> OK, see how this patch behaves for you.  The "bad entry" stuff
> seems to have been caused by trying to have a fast-path (the
> same one 2.4 usb-ohci has) getting rid of a 1 msec unlink delay
> in some cases.  It finally stopped working; I confess I've
> never quite trusted that shortcut!

Well, was this supposed to work with 2.6.3-bk9 or 2.6.4-rc1? At least it 
applied almost cleanly (probably harmless offset) and compiled.
However, things are getting really worse now, sorry. For me the HC dies 
when connecting hub+device which produces a number of bad entries again. 
And it seems the hub driver deadlocks on disconnect then. Maybe it was too 
aggressive wrt. interrupt urb's or rh handling?

Details below.

Martin

-------------------

* modprobe ohci_hcd

ohci_hcd: 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
ohci_hcd: block sizes: ed 64 td 64

* this nec-ohci companion

PCI: Found IRQ 11 for device 0000:00:0c.1
ohci_hcd 0000:00:0c.1: OHCI Host Controller
ohci_hcd 0000:00:0c.1: reset, control = 0x0
ohci_hcd 0000:00:0c.1: irq 11, pci mem cd059000
ohci_hcd 0000:00:0c.1: new USB bus registered, assigned bus number 3
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
ohci_hcd 0000:00:0c.1: created debug files
ohci_hcd 0000:00:0c.1: OHCI controller state
ohci_hcd 0000:00:0c.1: OHCI 1.0, with legacy support registers
ohci_hcd 0000:00:0c.1: control 0x083 HCFS=operational CBSR=3
ohci_hcd 0000:00:0c.1: cmdstatus 0x00000 SOC=0
ohci_hcd 0000:00:0c.1: intrstatus 0x00000004 SF
ohci_hcd 0000:00:0c.1: intrenable 0x80000012 MIE UE WDH
ohci_hcd 0000:00:0c.1: hcca frame #0428
ohci_hcd 0000:00:0c.1: roothub.a ff000202 POTPGT=255 NPS NDP=2
ohci_hcd 0000:00:0c.1: roothub.b 00000000 PPCM=0000 DR=0000
ohci_hcd 0000:00:0c.1: roothub.status 00000000
ohci_hcd 0000:00:0c.1: roothub.portstatus [0] 0x00000100 PPS
ohci_hcd 0000:00:0c.1: roothub.portstatus [1] 0x00000100 PPS

* connect external hub

ohci_hcd 0000:00:0c.1: GetStatus roothub.portstatus [2] = 0x00010101 CSC PPS CCS
ohci_hcd 0000:00:0c.1: GetStatus roothub.portstatus [2] = 0x00100103 PRSC PPS PES CCS
usb 3-2: new full speed USB device using address 2
hub 3-2:1.0: USB hub found
hub 3-2:1.0: 4 ports detected

* connect generic ezusb-fx to the hub

ohci_hcd 0000:00:0c.1: bad entry  6d71100
ohci_hcd 0000:00:0c.1: td_hash[1]
ohci_hcd 0000:00:0c.1:  entry td c6d71040; urb cac3634c index 0; hw next td 00000000
ohci_hcd 0000:00:0c.1:      info 02140000 CC=0 DATA0 DI=0 IN R
ohci_hcd 0000:00:0c.1:      cbp 00000000 be 070ed020 (len 0)
ohci_hcd 0000:00:0c.1: td_hash[2]
ohci_hcd 0000:00:0c.1:  entry td c6d71080; urb ca9cc7f0 index 1; hw next td 06d710c0
ohci_hcd 0000:00:0c.1:      info 57d40000 CC=5 DATA1 DI=6 IN R
ohci_hcd 0000:00:0c.1:      cbp 06d74fc8 be 06d74fcb (len 4)
ohci_hcd 0000:00:0c.1: td_hash[3]
ohci_hcd 0000:00:0c.1:  entry td c6d710c0; urb ca9cc7f0 index 2; hw next td 06d71100
ohci_hcd 0000:00:0c.1:      info 57080000 CC=5 DATA1 DI=0 OUT 
ohci_hcd 0000:00:0c.1:      cbp 00000000 be 00000000 (len 0)
ohci_hcd 0000:00:0c.1: td_hash[5]
ohci_hcd 0000:00:0c.1:  entry td c6d71140; urb ca9cc7f0 index 0; hw next td 06d71080
ohci_hcd 0000:00:0c.1:      info f2c00000 CC=f DATA0 DI=6 SETUP 
ohci_hcd 0000:00:0c.1:      cbp 03cd9914 be 03cd991b (len 8)
ohci_hcd 0000:00:0c.1: bad? td c6d71100; urb 00000000 index 0; hw next td 00000000
ohci_hcd 0000:00:0c.1:      info 5f000000 CC=5 DATA1 DI=0 SETUP 
ohci_hcd 0000:00:0c.1:      cbp 00000000 be 00000000 (len 0)
usb 3-2.4: new full speed USB device using address 3
ohci_hcd 0000:00:0c.1: bad entry  2000680
ohci_hcd 0000:00:0c.1: td_hash[1]
ohci_hcd 0000:00:0c.1:  entry td c6d71040; urb cac3634c index 0; hw next td 06d71000
ohci_hcd 0000:00:0c.1:      info f0140000 CC=f (CARRY) DI=0 IN R
ohci_hcd 0000:00:0c.1:      cbp 070ed020 be 070ed020 (len 1)
ohci_hcd 0000:00:0c.1: td_hash[2]
ohci_hcd 0000:00:0c.1:  entry td c6d71080; urb ca9cc7f0 index 1; hw next td 06d71100
ohci_hcd 0000:00:0c.1:      info 57d40000 CC=5 DATA1 DI=6 IN R
ohci_hcd 0000:00:0c.1:      cbp 0920bc00 be 0920bc07 (len 8)
ohci_hcd 0000:00:0c.1: td_hash[4]
ohci_hcd 0000:00:0c.1:  entry td c6d71100; urb ca9cc7f0 index 2; hw next td 06d71140
ohci_hcd 0000:00:0c.1:      info f3080000 CC=f DATA1 DI=0 OUT 
ohci_hcd 0000:00:0c.1:      cbp 00000000 be 00000000 (len 0)
ohci_hcd 0000:00:0c.1: td_hash[6]
ohci_hcd 0000:00:0c.1:  entry td c6d71180; urb ca9cc7f0 index 0; hw next td 06d71080
ohci_hcd 0000:00:0c.1:      info f2c00000 CC=f DATA0 DI=6 SETUP 
ohci_hcd 0000:00:0c.1:      cbp 06d74838 be 06d7483f (len 8)
ohci_hcd 0000:00:0c.1: bad? td c2000680; urb 0021449c index 33; hw next td 00000000
ohci_hcd 0000:00:0c.1:   info 8021449c CC=8 FC=0 DI=1 SF=449c
ohci_hcd 0000:00:0c.1:   bp0 00214000 be 0021449c
ohci_hcd 0000:00:0c.1:     psw [0] = 449c, CC=4 SIZE=1180
usb 3-2.4: control timeout on ep0in
usbtest 3-2.4:1.0: EZ-USB device
usbtest 3-2.4:1.0: full speed {control bulk-in bulk-out} tests (+alt)
usb 3-2: control timeout on ep0in

* rmmod ohci_hcd

ohci_hcd 0000:00:0c.1: leak ed c5266000 (#0) state 2 (has tds)

* rmmod deadlocked:

khubd         D 00000246  6536   509      1           799   188 (L-TLB)
cba85e18 00000046 c6d745fc 00000246 00000003 caf590f4 cbd70650 cacfd250 
       cacfd270 c11e3bc0 00016ed5 b836aae0 00001ba6 c11e3bf0 c11e3bc0 cbd70650 
       cbd70820 cba85ea4 cba85ea8 cba85e54 cba85e6c c011e6bc 00000000 cbd70650 
Call Trace:
 [<c011e6bc>] wait_for_completion+0xdc/0x160
 [<c011e320>] default_wake_function+0x0/0x20
 [<c012b7b2>] __mod_timer+0x242/0x2e0
 [<c011e320>] default_wake_function+0x0/0x20
 [<cd07a4b6>] usb_start_wait_urb+0xa6/0xf0 [usbcore]
 [<cd07a3b0>] timeout_kill+0x0/0x60 [usbcore]
 [<cd07a106>] usb_alloc_urb+0x46/0x50 [usbcore]
 [<cd07a564>] usb_internal_control_msg+0x64/0x80 [usbcore]
 [<cd07a5fb>] usb_control_msg+0x7b/0x90 [usbcore]
 [<c010821f>] __down_failed_trylock+0x7/0xc
 [<cd07655c>] get_hub_status+0x2c/0x30 [usbcore]
 [<cd076a7b>] hub_hub_status+0x1b/0x90 [usbcore]
 [<cd077d57>] hub_events+0x287/0x380 [usbcore]
 [<cd077e85>] hub_thread+0x35/0xf0 [usbcore]
 [<c011e320>] default_wake_function+0x0/0x20
 [<cd077e50>] hub_thread+0x0/0xf0 [usbcore]
 [<c0107161>] kernel_thread_helper+0x5/0x14

rmmod         D C1CCDDB4  6576 13178   1870                     (NOTLB)
c1ccddb0 00000082 00000010 c1ccddb4 00000000 c014abe7 c166e0e0 caa61160 
       00000000 c11e3bc0 0003836f 3cd6e0cd 00001bd9 00000000 c11e3bc0 c166e0e0 
       c166e2b0 c77e0e70 c77e0e68 00000286 c166e0e0 c0107ee5 00000001 c166e0e0 
Call Trace:
 [<c014abe7>] truncate_inode_pages+0x297/0x2c0
 [<c0107ee5>] __down+0xc5/0x180
 [<c011e320>] default_wake_function+0x0/0x20
 [<c0108208>] __down_failed+0x8/0xc
 [<cd07844e>] .text.lock.hub+0x4c/0x11e [usbcore]
 [<cd0750ae>] usb_unbind_interface+0x2e/0x70 [usbcore]
 [<c01f2770>] device_release_driver+0x40/0x50
 [<c01f28ad>] bus_remove_device+0x4d/0x90
 [<c01f1a07>] device_del+0x67/0x90
 [<cd07b171>] usb_disable_device+0x81/0xb0 [usbcore]
 [<cd075bc9>] usb_disconnect+0xa9/0xf0 [usbcore]
 [<cd075bb7>] usb_disconnect+0x97/0xf0 [usbcore]
 [<cd07d54f>] usb_hcd_pci_remove+0x6f/0x160 [usbcore]
 [<c01c892a>] pci_device_remove+0x1a/0x40
 [<c01f2770>] device_release_driver+0x40/0x50
 [<c01f27a9>] driver_detach+0x29/0x40
 [<c01f29c8>] bus_remove_driver+0x38/0x80
 [<c01f2d9f>] driver_unregister+0xf/0x33
 [<c01c8ade>] pci_unregister_driver+0xe/0x20
 [<cd06760a>] ohci_hcd_pci_cleanup+0xa/0xc [ohci_hcd]
 [<c013b4fd>] sys_delete_module+0x15d/0x180
 [<c0152800>] do_munmap+0x70/0x180
 [<c0152954>] sys_munmap+0x44/0x70
 [<c01094b7>] syscall_call+0x7/0xb




-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to