Brian Beardall wrote: >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. > > > I turned on USB_DEBUG for the 2.6.12-rc3 kernel. This is the output:
ohci_hcd: 2004 Nov 08 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI) ohci_hcd: block sizes: ed 64 td 64 ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 10 ACPI: PCI Interrupt 0000:00:07.4[D] -> Link [LNKD] -> 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: new USB bus registered, assigned bus number 1 ohci_hcd 0000:00:07.4: irq 10, io mem 0xe1000000 ohci_hcd 0000:00:07.4: AMD756 erratum 4 workaround ohci_hcd 0000:00:07.4: resetting from state 'reset', control = 0x600 ohci_hcd 0000:00:07.4: enabling initreset quirk ohci_hcd 0000:00:07.4: OHCI controller state ohci_hcd 0000:00:07.4: OHCI 1.0, NO legacy support registers ohci_hcd 0000:00:07.4: control 0x683 RWE RWC HCFS=operational CBSR=3 ohci_hcd 0000:00:07.4: cmdstatus 0x00000 SOC=0 ohci_hcd 0000:00:07.4: intrstatus 0x00000004 SF ohci_hcd 0000:00:07.4: intrenable 0x8000000a MIE RD WDH ohci_hcd 0000:00:07.4: fminterval a7782edf ohci_hcd 0000:00:07.4: hcca frame #0003 ohci_hcd 0000:00:07.4: roothub.a 01000204 POTPGT=1 NPS NDP=4 ohci_hcd 0000:00:07.4: roothub.b 00000000 PPCM=0000 DR=0000 ohci_hcd 0000:00:07.4: roothub.status 00008000 DRWE ohci_hcd 0000:00:07.4: roothub.portstatus [0] 0x00000100 PPS ohci_hcd 0000:00:07.4: roothub.portstatus [1] 0x00000100 PPS ohci_hcd 0000:00:07.4: roothub.portstatus [2] 0x00000100 PPS ohci_hcd 0000:00:07.4: roothub.portstatus [3] 0x00000100 PPS usb usb1: default language 0x0409 usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1 usb usb1: Product: Advanced Micro Devices [AMD] AMD-756 [Viper] USB usb usb1: Manufacturer: Linux 2.6.12-rc3 ohci_hcd usb usb1: SerialNumber: 0000:00:07.4 usb usb1: hotplug usb usb1: adding 1-0:1.0 (config #1, interface 0) hub 1-0:1.0: usb_probe_interface hub 1-0:1.0: usb_probe_interface - got id hub 1-0:1.0: USB hub found hub 1-0:1.0: 4 ports detected hub 1-0:1.0: standalone hub hub 1-0:1.0: no power switching (usb 1.0) hub 1-0:1.0: global over-current protection hub 1-0:1.0: power on to power good time: 2ms hub 1-0:1.0: local power source is good hub 1-0:1.0: no over-current condition exists usb 1-0:1.0: hotplug hub 1-0:1.0: state 5 ports 4 chg 0000 evt 0000 ohci_hcd 0000:00:07.4: created debug files usbcore: registered new driver usblp drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver Initializing USB Mass Storage driver... usbcore: registered new driver usb-storage USB Mass Storage support registered. usbcore: registered new driver usbhid drivers/usb/input/hid-core.c: v2.01:USB HID core driver usbcore: registered new driver usbserial drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0 drivers/usb/serial/usb-serial.c: USB Serial support registered for PocketPC PDA drivers/usb/serial/ipaq.c: USB PocketPC PDA driver v0.5 usbcore: registered new driver ipaq drivers/usb/serial/usb-serial.c: USB Serial support registered for Handspring Visor / Palm OS drivers/usb/serial/usb-serial.c: USB Serial support registered for Sony Clie 3.5 drivers/usb/serial/usb-serial.c: USB Serial support registered for Sony Clie 5.0 usbcore: registered new driver visor drivers/usb/serial/visor.c: USB HandSpring Visor / Palm OS driver v2.1 .... hub 1-0:1.0: state 5 ports 4 chg 0000 evt 0002 ohci_hcd 0000:00:07.4: GetStatus roothub.portstatus [0] = 0x00010101 CSC PPS CCS hub 1-0:1.0: port 1, status 0101, change 0001, 12 Mb/s hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x101 ohci_hcd 0000:00:07.4: GetStatus roothub.portstatus [0] = 0x00100103 PRSC PPS PES CCS usb 1-1: new full speed USB device using ohci_hcd and address 2 ohci_hcd 0000:00:07.4: GetStatus roothub.portstatus [0] = 0x00100103 PRSC PPS PES CCS usb 1-1: ep0 maxpacket = 8 usb 1-1: default language 0x0409 usb 1-1: new device strings: Mfr=1, Product=2, SerialNumber=0 usb 1-1: Product: Generic Digital camera usb 1-1: Manufacturer: Sunplus Technology Co., Ltd. usb 1-1: hotplug usb 1-1: adding 1-1:1.0 (config #1, interface 0) usb 1-1:1.0: hotplug hub 1-0:1.0: state 5 ports 4 chg 0000 evt 0002 spca5xx 1-1:1.0: usb_probe_interface spca5xx 1-1:1.0: usb_probe_interface - got id /home/brian/spca5xx-20050419/drivers/usb/spca5xx.c: USB SPCA5XX camera found. Type Flexcam 100 (SPCA561A) /home/brian/spca5xx-20050419/drivers/usb/spca5xx.c: [spca5xx_probe:8174] Camera type GBRG usbcore: registered new driver spca5xx /home/brian/spca5xx-20050419/drivers/usb/spca5xx.c: spca5xx driver 00.56.01 registered /home/brian/spca5xx-20050419/drivers/usb/spca561.h: [spca561_init:662] Find spca561 USB Product ID 561 hub 1-0:1.0: state 5 ports 4 chg 0000 evt 0001 hub 1-0:1.0: state 5 ports 4 chg 0000 evt 0001 hub 1-0:1.0: state 5 ports 4 chg 0000 evt 0001 hub 1-0:1.0: state 5 ports 4 chg 0000 evt 0001 hub 1-0:1.0: state 5 ports 4 chg 0000 evt 0001 hub 1-0:1.0: state 5 ports 4 chg 0000 evt 0001 hub 1-0:1.0: state 5 ports 4 chg 0000 evt 0001 hub 1-0:1.0: state 5 ports 4 chg 0000 evt 0001 hub 1-0:1.0: state 5 ports 4 chg 0000 evt 0001 hub 1-0:1.0: state 5 ports 4 chg 0000 evt 0001 hub 1-0:1.0: state 5 ports 4 chg 0000 evt 0001 hub 1-0:1.0: resubmit --> -108 hub 1-0:1.0: state 5 ports 4 chg 0000 evt 0004 hub 1-0:1.0: hub_port_status failed (err = -108) irq 10: nobody cared! [<c01379ea>] __report_bad_irq+0x2a/0x90 [<c01373a0>] handle_IRQ_event+0x30/0x70 [<c0137adc>] note_interrupt+0x6c/0xd0 [<c0137510>] __do_IRQ+0x130/0x160 [<c0104ef9>] do_IRQ+0x19/0x30 [<c010339e>] common_interrupt+0x1a/0x20 [<c011d2f0>] __do_softirq+0x30/0x90 [<c011d376>] do_softirq+0x26/0x30 [<c011d445>] irq_exit+0x35/0x40 [<c0104efe>] do_IRQ+0x1e/0x30 [<c010339e>] common_interrupt+0x1a/0x20 [<c01a72c3>] journal_get_write_access+0x3/0x50 [<c0198d87>] ext3_get_inode_loc+0x27/0x30 [<c0199856>] ext3_reserve_inode_write+0x46/0xc0 [<c01998fb>] ext3_mark_inode_dirty+0x2b/0x60 [<c01999bb>] ext3_dirty_inode+0x8b/0x90 [<c0179d2a>] __mark_inode_dirty+0x1aa/0x1b0 [<c011d161>] current_fs_time+0x51/0x70 [<c0171b23>] inode_update_time+0xb3/0xe0 [<c013b09d>] __generic_file_aio_write_nolock+0x2cd/0x570 [<c02a780d>] scrup+0x7d/0xf0 [<c02aabb0>] do_con_write+0x230/0x590 [<c03b00ff>] eisa_set_level_irq+0x3f/0x90 [<c013b5f2>] generic_file_aio_write+0x72/0xe0 [<c01943f4>] ext3_file_write+0x44/0xd0 [<c0156b1e>] do_sync_write+0xbe/0xf0 [<c029b12b>] tty_write+0x20b/0x270 [<c012ccb0>] autoremove_wake_function+0x0/0x60 [<c02a0960>] write_chan+0x0/0x210 [<c0156bef>] vfs_write+0x9f/0x120 [<c0156d41>] sys_write+0x51/0x80 [<c01031e1>] syscall_call+0x7/0xb handlers: [<c0326410>] (ohci_irq_handler+0x0/0x780) [<c033ecd0>] (usb_hcd_irq+0x0/0x70) Disabling IRQ #10 usb 1-1: gqcam timed out on ep0in len=0/1 ------------------------------------------------------- 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