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

Reply via email to