diff --git a/sys/dev/ed/if_ed.c b/sys/dev/ed/if_ed.c index fed261abfe5..f9c83e07f26 100644 --- a/sys/dev/ed/if_ed.c +++ b/sys/dev/ed/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 diff --git a/sys/i386/isa/if_ed.c b/sys/i386/isa/if_ed.c index fed261abfe5..f9c83e07f26 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