One other note, the machine did not crash with an OOPS message
this time. I just got the error output. The machine suspended
and unsuspended with no apparent problems.
Miles
Miles Lane wrote:
>
> 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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]