NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/46291: fxp crash
The following reply was made to PR kern/46291; it has been noted by GNATS.
From: Martin Husemann <martin%duskware.de@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc:
Subject: Re: kern/46291: fxp crash
Date: Tue, 8 May 2012 11:27:30 +0200
--ZGiS0Q5IWpPtfppv
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Do you remember how early in the boot process this crashed?
Could it have been during fxp attaching, i.e. after the ethernet
address had been printed, but before phy attached?
Note that fxp_pci_attach establishes the interrupt handler before
calling fxp_attach (and also sets sc->sc_enabled = 1), so we could
accidently end up in fxp_intr() before sc->sc_ethercom.ec_if.if_softc
is set correctly.
This would also explain why you see it rarely. Does fxp share the interrupt
with something else on your machine?
I wonder if the attached patch would be the proper fix (but I don't understand
anything about this hardware).
Martin
--ZGiS0Q5IWpPtfppv
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=patch
Index: if_fxp_pci.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/if_fxp_pci.c,v
retrieving revision 1.79
diff -c -u -r1.79 if_fxp_pci.c
--- if_fxp_pci.c 2 Feb 2012 19:43:05 -0000 1.79
+++ if_fxp_pci.c 8 May 2012 09:28:42 -0000
@@ -498,8 +498,6 @@
/* Restore PCI configuration registers. */
fxp_pci_confreg_restore(psc);
- sc->sc_enabled = 1;
-
/*
* Map and establish our interrupt.
*/
@@ -520,6 +518,7 @@
/* Finish off the attach. */
fxp_attach(sc);
+ sc->sc_enabled = 1;
if (sc->sc_disable != NULL)
fxp_disable(sc);
--ZGiS0Q5IWpPtfppv--
Home |
Main Index |
Thread Index |
Old Index