Brian Beardall wrote: >David Brownell wrote: > > > >>On Monday 02 May 2005 12:36 pm, Brian Beardall wrote: >> >> >> >> >>>David Brownell wrote: >>>I enabled the CONFIG_USB_DEBUG, and this is what I get: >>> >>>ohci_hcd 0000:00:07.4: bogus NDP=255, rereads as NDP=4 >>>irq 10: nobody cared! >>>[<c01356aa>] __report_bad_irq+0x2a/0x90 >>>... >>> >>> >>> >>> >>Well that's strange. It would appear that maybe on your >>board, the erratum #4 workaround isn't adequate. There >>were multiple revisions of that chip ... maybe you're >>looking at early ones, with additional errata? >> >> >> >> >> >I checked the revision of the southbridge, and it is a revision D, but I >am not sure whether it is a revision D2, or D4. > > > >>>handlers: >>>[<c0335650>] (ohci_irq_handler+0x0/0x7a0) >>>[<c034db70>] (usb_hcd_irq+0x0/0x70) >>>Disabling IRQ #10 >>> >>> >>> >>> >>In that case it appears like maybe part of the problem is that >>you've got a FireWire controller on the same IRQ. Try moving >>that card to another PCI slot; maybe that's making trouble too. >> >> >> >> >> >I have taken everything out of the computer but the network card, and >video card, and it still crashes exactly the same. The other computer >also crashes exactly the same so I doubt that the IEEE 1394 OHCI >card/driver is causing any problem. > > > >>>The last message before the IRQ nobody cared is either the NDP error or >>>I get the hub_port_status failed message. It depends on it attitude at >>>the time of crash. This may be able to be explained by Erratum #4. If >>>the root hub were to be reset during use >>> >>> >>> >>> >>That should never happen. >> >> >> >> >It should never happen, but the crash doesn't make sense. > > > >> >> >> >> >>>usb usb1: Product: Advanced Micro Devices [AMD] AMD-756 [Viper] USB >>>usb usb1: Manufacturer: Linux 2.6.11-gentoo-r6 ohci_hcd >>> >>> >>> >>> >>How does 2.6.12-rc2 behave? >> >>For the usual reasons, most of us don't want to hear about kernels >>with random patches we didn't provide ... :) >> >>- Dave >> >> >> >> >The 2.6.12-rc3 behaves exactly the same so I went back to the >gentoo-sources so I could I my splash screen at boot time. I was hoping >that the 2.6.12-rc3 would fix the usb issues, and I was dissappointed. >It would be nice to see what exactly is causing it to crash. > > I did some further testing, and here is the result. The device it self seems to respond still after the IRQ crash.
ohci_hcd 0000:00:07.4: bogus NDP=255, rereads as NDP=4 irq 10: nobody cared! [<c01356aa>] __report_bad_irq+0x2a/0x90 [<c0134fe0>] handle_IRQ_event+0x30/0x70 [<c013579c>] note_interrupt+0x6c/0xd0 [<c0135166>] __do_IRQ+0x146/0x160 [<c0104e03>] do_IRQ+0x23/0x40 [<c01033ca>] common_interrupt+0x1a/0x20 [<c011d8b0>] __do_softirq+0x30/0x90 [<c011d936>] do_softirq+0x26/0x30 [<c011da05>] irq_exit+0x35/0x40 [<c0104e08>] do_IRQ+0x28/0x40 [<c01033ca>] common_interrupt+0x1a/0x20 [<c019a29d>] ext3_get_inode_block+0xad/0x150 [<c01a82db>] start_this_handle+0x16b/0x410 [<c019a368>] __ext3_get_inode_loc+0x28/0x260 [<c019a5c7>] ext3_get_inode_loc+0x27/0x30 [<c019b0d1>] ext3_reserve_inode_write+0x31/0xd0 [<c019b19b>] ext3_mark_inode_dirty+0x2b/0x60 [<c019b25b>] ext3_dirty_inode+0x8b/0x90 [<c017a171>] __mark_inode_dirty+0x1b1/0x1c0 [<c011d751>] current_fs_time+0x51/0x70 [<c0171a23>] inode_update_time+0xb3/0xe0 [<c0138d9e>] __generic_file_aio_write_nolock+0x2ae/0x590 [<c027898e>] scrup+0x7e/0x100 [<c027c5bb>] do_con_write+0x25b/0x680 [<c0139332>] generic_file_aio_write+0x72/0xe0 [<c0195d34>] ext3_file_write+0x44/0xd0 [<c0155dde>] do_sync_write+0xbe/0xf0 [<c0114f95>] __wake_up+0x55/0x80 [<c026bc0b>] tty_write+0x20b/0x270 [<c012d8e0>] autoremove_wake_function+0x0/0x60 [<c0271780>] write_chan+0x0/0x210 [<c0155eb7>] vfs_write+0xa7/0x160 [<c0156041>] sys_write+0x51/0x80 [<c010325b>] syscall_call+0x7/0xb handlers: [<c0335650>] (ohci_irq_handler+0x0/0x7a0) [<d516ebe0>] (usb_hcd_irq+0x0/0x70 [usbcore]) [<d516ebe0>] (usb_hcd_irq+0x0/0x70 [usbcore]) Disabling IRQ #10 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spcausb.h: reg write: error -108 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca5xx.c: Set packet size: set interface error usb 2-1: new full speed USB device using ohci_hcd and address 2 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca5xx.c: USB SPCA5XX camera found. Type Flexcam 100 (SPCA561A) /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca5xx.c: [spca5xx_probe:8174] Camera type GBRG /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca561.h: [spca561_init:662] Find spca561 USB Product ID 561 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spcausb.h: reg write: error -108 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca5xx.c: Set packet size: set interface error /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spcausb.h: reg write: error -108 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spcausb.h: reg write: error -108 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spcausb.h: reg write: error -108 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca5xx.c: init isoc: usb_submit_urb(0) ret -108 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca5xx.c: init isoc: usb_submit_urb(1) ret -108 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spcausb.h: reg write: error -108 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca5xx.c: Set packet size: set interface error ehci_hcd 0000:00:0b.3: remove, state 1 usb usb3: USB disconnect, address 1 ehci_hcd 0000:00:0b.3: USB bus 3 deregistered usb 2-1: USB disconnect, address 2 usb 2-1: new full speed USB device using ohci_hcd and address 3 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca5xx.c: USB SPCA5XX camera found. Type Flexcam 100 (SPCA561A) /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca5xx.c: [spca5xx_probe:8174] Camera type GBRG /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca561.h: [spca561_init:662] Find spca561 USB Product ID 561 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spcausb.h: reg write: error -108 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca5xx.c: Set packet size: set interface error /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spcausb.h: reg write: error -108 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spcausb.h: reg write: error -108 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spcausb.h: reg write: error -108 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca5xx.c: init isoc: usb_submit_urb(0) ret -108 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca5xx.c: init isoc: usb_submit_urb(1) ret -108 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spcausb.h: reg write: error -108 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca5xx.c: Set packet size: set interface error usbcore: deregistering driver spca5xx ohci_hcd 0000:00:07.4: leak ed d1a91040 (#81) state 0 (has tds) /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca5xx.c: driver spca5xx deregistered ohci_hcd 0000:00:07.4: remove, state 0 usb usb1: USB disconnect, address 1 usb 1-1: USB disconnect, address 2 ohci_hcd 0000:00:07.4: dma_pool_destroy ohci_ed, d1a91000 busy ohci_hcd 0000:00:07.4: USB bus 1 deregistered ohci_hcd 0000:00:0b.0: remove, state 1 usb usb2: USB disconnect, address 1 usb 2-1: USB disconnect, address 3 ohci_hcd 0000:00:0b.0: USB bus 2 deregistered ohci_hcd: 2004 Nov 08 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI) ACPI: PCI interrupt 0000:00:07.4[D] -> GSI 10 (level, low) -> IRQ 10 ohci_hcd 0000:00:07.4: Advanced Micro Devices [AMD] AMD-756 [Viper] USB ohci_hcd 0000:00:07.4: irq 10, pci mem 0xe1000000 ohci_hcd 0000:00:07.4: new USB bus registered, assigned bus number 1 ohci_hcd 0000:00:07.4: AMD756 erratum 4 workaround hub 1-0:1.0: USB hub found hub 1-0:1.0: 4 ports detected ACPI: PCI interrupt 0000:00:0b.0[B] -> GSI 11 (level, low) -> IRQ 11 ohci_hcd 0000:00:0b.0: ALi Corporation USB 1.1 Controller ohci_hcd 0000:00:0b.0: irq 11, pci mem 0xe1004000 ohci_hcd 0000:00:0b.0: new USB bus registered, assigned bus number 2 hub 2-0:1.0: USB hub found hub 2-0:1.0: 2 ports detected usb 2-1: new full speed USB device using ohci_hcd and address 2 /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca5xx.c: USB SPCA5XX camera found. Type Flexcam 100 (SPCA561A) /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca5xx.c: [spca5xx_probe:8174] Camera type GBRG usbcore: registered new driver spca5xx /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca5xx.c: spca5xx driver 00.56.01 registered /var/tmp/portage/spca5xx-20050419/work/spca5xx-20050419/drivers/usb/spca561.h: [spca561_init:662] Find spca561 USB Product ID 561 usb 2-1: USB disconnect, address 2 usb 1-1: new full speed USB device using ohci_hcd and address 2 ohci_hcd 0000:00:07.4: Unlink after no-IRQ? Controller is probably using the wrong IRQ. usbcore: deregistering driver spca5xx The other usb controller wouldn't respond when I tried to run the webcam from it after the onboard OHCI controller died. I then unloaded the modules for USB, and reloaded them. It then detected the ALi controller, and the AMD 756 controller. The camera worked on the ALi Controller, but when I plugged the camera into the AMD controller it responded, except the the kernel driver was unable to completely detect the camera because the kernel had stopped listening to IRQ 10. That is what I did in the bottom of the log. This then locked-up the entire USBcore so I then had to restart the computer. It seems like a timing issue where one request is being processed, and then another is sent in before the first is complete. This results in erradic behavor of the registers which then makes the IRQ unresponsive for a jiffy which causes the kernel to stop listening to the IRQ. Because the timing is slightly off if it did keep listening to that IRQ it would just lock-up the entire computer. I did turn off the IRQ debug, and it did lock-up. ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. Get your fingers limbered up and give it your best shot. 4 great events, 4 opportunities to win big! Highest score wins.NEC IT Guy Games. Play to win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel