On Wednesday 20 September 2006 7:18 pm, Aras Vaichas wrote:
> David Brownell wrote:
> David Brownell wrote:
> > On Sunday 17 September 2006 9:59 pm, Aras Vaichas wrote:
> >> I'm using an at91rm9200 with Linux 2.6.16. Under some unusual 
> >> circumstances, I
> >> can create a failure.
> >
> > Can you reproduce this with 2.6.18-rc7?  That newer driver code may
> > be usable as a straight backport.
> 
> I haven't tried. As the at91 kernel is (generally) very stable, I don't tend 
> to
> do any kernel changes or upgrades any more. If I get a chance though, I might
> download 2.6.18 and give it a try.

Or just update to its OHCI code ... there WERE some updates in the AT91
support there.


> I recompiled with extra kernel info, but USB debugging doesn't seem to add
> anything once the problem begins. I hope this provides more information. I'm
> not much of a kernel hacker at this level of debugging but I can implement
> suggestions.

What I'd need to see would be the output of the "ohci_dump()" emitted
after the OHCI_INTR_UE messages you showed.  It should be in the syslog
data; if the kernel wedged so you couldn't access that, then a very handy
debug trick is "echo 8 > /proc/sysrq-trigger" to force KERN_DEBUG messages
out to the serial console.


> Jan  1 00:02:48 local2.debug in.ftpd[322]: command list
> at91_ohci at91_ohci: OHCI Unrecoverable Error, disabled
> at91_ohci at91_ohci: HC died; cleaning up
> irq23: nobody cared
> 
> Pid: 322, comm:              in.ftpd
> CPU: 0
> PC is at __do_softirq+0x44/0xd0
> LR is at irq_exit+0x44/0x58
> pc : [<c0038d2c>]    lr : [<c0038eb4>]    Not tainted
> sp : c180bf44  ip : c180bf68  fp : c180bf64
> r10: c180bfb0  r9 : c020d7c0  r8 : c0215360
> r7 : 0000000a  r6 : c180a000  r5 : c180a000  r4 : 00000002
> r3 : 20000013  r2 : 00000002  r1 : 00000001  r0 : 00000001
> Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  Segment user
> Control: C000317F  Table: 21030000  DAC: 00000015
> [<c001fc44>] (show_regs+0x0/0x4c) from [<c001ea54>] (report_bad_irq+0x6c/0xcc)
>  r4 = C180BEFC
> [<c001e9e8>] (report_bad_irq+0x0/0xcc) from [<c001ed84>] 
> (do_level_IRQ+0x80/0xbc)
>  r5 = 00000017  r4 = C020DC6C
> [<c001ed04>] (do_level_IRQ+0x0/0xbc) from [<c001ee14>] (asm_do_IRQ+0x54/0x13c)
>  r6 = 00000017  r5 = C180A000  r4 = FFFFFFFF
> [<c001edc0>] (asm_do_IRQ+0x0/0x13c) from [<c001d998>] (__irq_svc+0x38/0x64)

> [<c0038ce8>] (__do_softirq+0x0/0xd0) from [<c0038eb4>] (irq_exit+0x44/0x58)
>  r8 = 00000000  r7 = 00000001  r6 = 00000001  r5 = C180A000
>  r4 = C180A000
> [<c0038e70>] (irq_exit+0x0/0x58) from [<c001eee4>] (asm_do_IRQ+0x124/0x13c)
>  r4 = FFFFFFFF
> [<c001edc0>] (asm_do_IRQ+0x0/0x13c) from [<c001dbac>] (__irq_usr+0x4c/0xa0)

> [<c0022ff0>] (dump_stack+0x0/0x14) from [<c001ea58>] 
> (report_bad_irq+0x70/0xcc)
> [<c001e9e8>] (report_bad_irq+0x0/0xcc) from [<c001ed84>] 
> (do_level_IRQ+0x80/0xbc)
>  r5 = 00000017  r4 = C020DC6C
> [<c001ed04>] (do_level_IRQ+0x0/0xbc) from [<c001ee14>] (asm_do_IRQ+0x54/0x13c)
>  r6 = 00000017  r5 = C180A000  r4 = FFFFFFFF
> [<c001edc0>] (asm_do_IRQ+0x0/0x13c) from [<c001d998>] (__irq_svc+0x38/0x64)

This does seem to show a nested IRQs ... it may eventually be useful to
write the MIE bit of the OHCI intrdisable register before printing that
"Unrecoverable Error" message, and clear "ints", so the cleanup works
better.  Right now there seem to be two problems:  one is that the cleanup
isn't acting as good as it should, the other is that it's needed in the
first place.

- Dave


> [<c0038ce8>] (__do_softirq+0x0/0xd0) from [<c0038eb4>] (irq_exit+0x44/0x58)
>  r8 = 00000000  r7 = 00000001  r6 = 00000001  r5 = C180A000
>  r4 = C180A000
> [<c0038e70>] (irq_exit+0x0/0x58) from [<c001eee4>] (asm_do_IRQ+0x124/0x13c)
>  r4 = FFFFFFFF
> [<c001edc0>] (asm_do_IRQ+0x0/0x13c) from [<c001dbac>] (__irq_usr+0x4c/0xa0)
> handlers:
> [<c011aab8>] (usb_hcd_irq+0x0/0x84)
> irq23: nobody cared

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
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