* Re: Oops in rtl8139, and more
@ 2001-01-15 17:25 Manfred Spraul
0 siblings, 0 replies; only message in thread
From: Manfred Spraul @ 2001-01-15 17:25 UTC (permalink / raw)
To: jgarzik, linux-kernel; +Cc: cherenkoff
The problem is clear:
rtl8139_resume() unconditionally restarts the hardware, even if the
network was not yet started.
The hardware immediately notices something, and sends an interrupt.
The oops happens during rtl8139_open():
the function calls request_irq(), but assumes that the interrupts are
still disabled from the initial rtl8139_init_one(). Thus an interrupt
arrives before the driver structures are initialized.
Jeff, it seems that rtl8139_suspend() and rtl8139_resume() should check
if the nic was opened before stopping/restarting the hardware.
> >>EIP; c01a180e <rtl8139_rx_interrupt+b6/264> <=====
> Trace; c01a1d53 <rtl8139_interrupt+cf/164>
> Trace; c010a16d <handle_IRQ_event+31/5c>
> Trace; c010a2d7 <do_IRQ+6b/ac>
> Trace; c0108f68 <ret_from_intr+0/20>
> Trace; c010a6a1 <setup_irq+81/98>
> Trace; c01a1c84 <rtl8139_interrupt+0/164>
> Trace; c010a3a8 <request_irq+90/ac>
> Trace; c01a067e <rtl8139_open+1e/128>
> Trace; c01f4f90 <dev_open+48/a4>
--
Manfred
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2001-01-15 17:25 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-01-15 17:25 Oops in rtl8139, and more Manfred Spraul
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®