aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorBruce Evans <bde@FreeBSD.org>2006-10-06 14:16:20 +0000
committerBruce Evans <bde@FreeBSD.org>2006-10-06 14:16:20 +0000
commit1b34ff224d235a276c23a9e19ebdebf5bf8e398b (patch)
treee44c5a741b5e36761dd56cb33ba761d27c98f19e /sys
parent2bce92ca8dff9ee2ef67686e75f5ce5a7a7884b1 (diff)
downloadsrc-1b34ff224d235a276c23a9e19ebdebf5bf8e398b.tar.gz
src-1b34ff224d235a276c23a9e19ebdebf5bf8e398b.zip
Fail the probe instead of panicing if the memory address is 0. The
memory address can be 0 only with certain misconfigurations. We don't try to detect misconfigurations of the kernel config file, but IIRC the panic was caused by a hardware misconfiguration like the following: - a cy PCI card physically present but with a hardware conflict - then the cy PCI probe is called first but fails due to the conflict - no cy ISA card present - the cy ISA probe is called. Normally this uses the nonzero memory address in the config file and just fails when there is no cy ISA card present, but when there is a cy PCI card present, the ISA memory resource is apparently lost. The (non-)presence of the cy ISA card probably makes no difference here.
Notes
Notes: svn path=/stable/4/; revision=163053
Diffstat (limited to 'sys')
-rw-r--r--sys/i386/isa/cy.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/i386/isa/cy.c b/sys/i386/isa/cy.c
index e56ef25bfad6..6e4f5d3d0801 100644
--- a/sys/i386/isa/cy.c
+++ b/sys/i386/isa/cy.c
@@ -434,6 +434,8 @@ sioprobe(dev)
cy_addr iobase;
iobase = (cy_addr)dev->id_maddr;
+ if (iobase == NULL)
+ return (0);
/* Cyclom-16Y hardware reset (Cyclom-8Ys don't care) */
cy_inb(iobase, CY16_RESET, 0); /* XXX? */