summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>2000-08-04 18:09:56 +0000
committerwpaul <wpaul@FreeBSD.org>2000-08-04 18:09:56 +0000
commitec3a4fd2c3f7358adf3c87f377d76c2d58292c3b (patch)
treea0ac7d244b643a744041fd92ffffe5d16eacdf38 /sys/dev
parent49bf8d1c7dfa45ef37e4f56eeee3702e5e2671f3 (diff)
downloadFreeBSD-src-ec3a4fd2c3f7358adf3c87f377d76c2d58292c3b.zip
FreeBSD-src-ec3a4fd2c3f7358adf3c87f377d76c2d58292c3b.tar.gz
The check_extport() function appears to have some new code in it that checks
the scratch RAM for data normally found in the SEEPROM (presumably in the event that the SEEPROM is unavailable or can't be read). This code causes a spontaneous reboot on monster.osd.bsdi.com, which has an embedded aic7880 controller. The problem appears to happen either when it writes to the SCBPTR port and then reads from the SCB_CONTROL port. Somewhere during the inb/outb operations, the system has a heart attack and restarts. This code looks very suspicious, particularly since it has unconditionalized debug mesages such as "Got here!" and "And it even worked!". With this block #ifdef'ed out, the machine boots and runs properly. I stronly suggest that it stay #ifdef'ed out until it's properly tested.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/aic7xxx/ahc_pci.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/aic7xxx/ahc_pci.c b/sys/dev/aic7xxx/ahc_pci.c
index 761ea6b..b74fa55 100644
--- a/sys/dev/aic7xxx/ahc_pci.c
+++ b/sys/dev/aic7xxx/ahc_pci.c
@@ -1143,6 +1143,12 @@ check_extport(struct ahc_softc *ahc, u_int *sxfrctl1)
}
}
+#ifdef 0
+ /*
+ * This code causes a machine with an aic7880 chipset
+ * to reboot spontaneously. Whatever it's supposed to do,
+ * it's doing it wrong. -wpaul
+ */
if (!have_seeprom) {
/*
* Pull scratch ram settings and treat them as
@@ -1168,6 +1174,7 @@ check_extport(struct ahc_softc *ahc, u_int *sxfrctl1)
printf("And it even worked!\n");
}
}
+#endif
if (!have_seeprom) {
if (bootverbose)
OpenPOWER on IntegriCloud