I build ac19 with the patch. Here's the result of "apm -s":
spurious 8259A interrupt: IRQ7.
usb-ohci.c: rh_send_irq given bogus controller address c5880000
usb-ohci.c: rh_send_irq given bogus controller address c5880000
usb-ohci.c: rh_send_irq given bogus controller address c5880000
usb-ohci.c: rh_send_irq given bogus controller address c5880000
usb-ohci.c: rh_send_irq given bogus controller address c5880000
usb-ohci.c: rh_send_irq given bogus controller address c5880000
usb-ohci.c: rh_send_irq given bogus controller address c5880000
usb-ohci.c: rh_send_irq given bogus controller address c5880000
usb-ohci.c: rh_send_irq given bogus controller address c5880000
usb-ohci.c: rh_send_irq given bogus controller address c5880000
usb-ohci.c: rh_send_irq given bogus controller address c5880000
usb-ohci.c: rh_send_irq given bogus controller address c5880000
usb-ohci.c: rh_send_irq given bogus controller address c5880000
usb-ohci.c: rh_send_irq given bogus controller address c5880000
cs: cb_free(bus 3)
usb-ohci.c: rh_send_irq given bogus controller address c5880000
usb-ohci.c: rh_send_irq given bogus controller address c5880000
Not sure if this helps.
Miles
David Brownell wrote:
>
> I hate seeing oops traces that look familiar ... this being
> the one where the rh_send_irq() code got a bogus pointer to
> an OHCI controller, so it's not surprising that it oopsed
> when accessing a non-existent root hub port on it.
>
> I attach a patch that tries to detect such cases a bit earlier
> in the call chain. It should help a bit to determine whether
> this is happening because of a bug inside the OHCI driver (it's
> causing the bogus pointer itself) or outside (maybe some other
> component trashed the timer callback).
>
> Please try this patch and lets see if it gives better information.
> It behaves on my hardware, which doesn't see such Oopsen.
>
> - Dave
>
> > *pde = 00000000
> > Oops: 0000
> > CPU: 0
> > EIP: 0010:[<c587ece1>]
> > Using defaults from ksymoops -t elf32-i386 -a i386
> > EFLAGS: 00010292
> > eax: 14c589f4 ebx: 00000068 ecx: 0000009e edx: 00000000
> > esi: 0000000c edi: c0289f1c ebp: 00000061 esp: c0289ef8
> > ds: 0018 es: 0018 ss: 0018
> > Stack: c1e4c540 00000000 c02e06a0 c587ed7c 00000001 00000001 c0289f1e
> > 00002a1b
> > 000000ff ffffffff ffffffff ffffffff c1f0e001 c1e4d8e8 00000001
> > c1e4c540
> > c0121441 c1e4c540 00000000 00000000 c02e06a0 c02e0660 00000000
> > c010f158
> > Call trace: [<c587ed7c>] [<c012144c>] [<c010f158>] [<c011e253>]
> > [<c011e1b0>]
> > [<c011e0af>] [<c010c40e>] [<c0108c40>] [<c0108c40>]
> > [<c010b2f8>]
> > [<c0108c40>] [<c0108c40>] [<c0100018>] [<c0108c63>]
> > [<c0108ca4>]
> > [<c0105000>] [<c010018d>]
> > Code: 8b 00 a9 00 00 1f 00 74 16 b8 01 00 00 00 8b 4c 24 10 d3 e0
> >
> > >>EIP; c587ece1 <[usb-ohci]rh_send_irq+c5/160> <=====
> > Trace; c587ed7c <[usb-ohci]rh_int_timer_do+0/54>
> > Trace; c012144c <timer_bh+26c/2a8>
> > Trace; c010f158 <timer_interrupt+84/f0>
> > Trace; c011e253 <bh_action+1b/60>
> > Trace; c011e1b0 <tasklet_hi_action+38/60>
> > Trace; c011e0af <do_softirq+4f/70>
> > Trace; c010c40e <do_IRQ+a6/b8>
> > Trace; c0108c40 <default_idle+0/28>
> > Trace; c0108c40 <default_idle+0/28>
> > Trace; c010b2f8 <ret_from_intr+0/20>
> > Trace; c0108c40 <default_idle+0/28>
> > Trace; c0108c40 <default_idle+0/28>
> > Trace; c0100018 <startup_32+18/135>
> > Trace; c0108c63 <default_idle+23/28>
> > Trace; c0108ca4 <cpu_idle+3c/50>
> > Trace; c0105000 <empty_bad_page+0/1000>
> > Trace; c010018d <L6+0/2>
> > Code; c587ece1 <[usb-ohci]rh_send_irq+c5/160>
> > 00000000 <_EIP>:
> > Code; c587ece1 <[usb-ohci]rh_send_irq+c5/160> <=====
> > 0: 8b 00 mov (%eax),%eax <=====
> > Code; c587ece3 <[usb-ohci]rh_send_irq+c7/160>
> > 2: a9 00 00 1f 00 test $0x1f0000,%eax
> > Code; c587ece8 <[usb-ohci]rh_send_irq+cc/160>
> > 7: 74 16 je 1f <_EIP+0x1f> c587ed00
> > <[usb-ohci]rh_send_irq+e4/160>
> > Code; c587ecea <[usb-ohci]rh_send_irq+ce/160>
> > 9: b8 01 00 00 00 mov $0x1,%eax
> > Code; c587ecef <[usb-ohci]rh_send_irq+d3/160>
> > e: 8b 4c 24 10 mov 0x10(%esp,1),%ecx
> > Code; c587ecf3 <[usb-ohci]rh_send_irq+d7/160>
> > 12: d3 e0 shl %cl,%eax
> >
>
> ------------------------------------------------------------------------
> Name: ohci-paranoid.patch
> ohci-paranoid.patch Type: unspecified type (application/octet-stream)
> Encoding: quoted-printable
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]