aboutsummaryrefslogtreecommitdiff
path: root/sys/i386/isa/if_ed.c
diff options
context:
space:
mode:
authorKATO Takenori <kato@FreeBSD.org>1999-09-02 15:01:56 +0000
committerKATO Takenori <kato@FreeBSD.org>1999-09-02 15:01:56 +0000
commitc322fa140e8f5fa85c56cbd95e436c6a2a233c82 (patch)
tree633914ba9cc1c10bff363c5180605e2e10ed4399 /sys/i386/isa/if_ed.c
parentae46296f4c1426985620ae5fff8163b1842f76e9 (diff)
downloadsrc-c322fa140e8f5fa85c56cbd95e436c6a2a233c82.tar.gz
src-c322fa140e8f5fa85c56cbd95e436c6a2a233c82.zip
The ed_probe_Novell should not clear id_maddr when it fails to probe.
This fixes potential panic by kvtop at addr == 0. Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
Notes
Notes: svn path=/head/; revision=50807
Diffstat (limited to 'sys/i386/isa/if_ed.c')
-rw-r--r--sys/i386/isa/if_ed.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/i386/isa/if_ed.c b/sys/i386/isa/if_ed.c
index fed261abfe59..f9c83e07f265 100644
--- a/sys/i386/isa/if_ed.c
+++ b/sys/i386/isa/if_ed.c
@@ -1282,10 +1282,14 @@ ed_probe_Novell(isa_dev)
struct isa_device *isa_dev;
{
struct ed_softc *sc = &ed_softc[isa_dev->id_unit];
+ int nports;
- isa_dev->id_maddr = 0;
- return ed_probe_Novell_generic(sc, isa_dev->id_iobase,
+ nports = ed_probe_Novell_generic(sc, isa_dev->id_iobase,
isa_dev->id_unit, isa_dev->id_flags);
+ if (nports)
+ isa_dev->id_maddr = 0;
+
+ return (nports);
}
#if NCARD > 0