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