summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/isa.c
diff options
context:
space:
mode:
authoreivind <eivind@FreeBSD.org>1998-01-31 03:29:00 +0000
committereivind <eivind@FreeBSD.org>1998-01-31 03:29:00 +0000
commite6eb2c07dc96defc2468dd8f72057449207ac25c (patch)
treeb247809fba3cb7504112973b4694c134987c09d3 /sys/i386/isa/isa.c
parent6a06ff15fefad664ce3439ce083c364e4f5f97e3 (diff)
downloadFreeBSD-src-e6eb2c07dc96defc2468dd8f72057449207ac25c.zip
FreeBSD-src-e6eb2c07dc96defc2468dd8f72057449207ac25c.tar.gz
Skip probing devices which have already probed true.
Diffstat (limited to 'sys/i386/isa/isa.c')
-rw-r--r--sys/i386/isa/isa.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/sys/i386/isa/isa.c b/sys/i386/isa/isa.c
index 0d5049b..3f9440d 100644
--- a/sys/i386/isa/isa.c
+++ b/sys/i386/isa/isa.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)isa.c 7.2 (Berkeley) 5/13/91
- * $Id: isa.c,v 1.107 1997/11/21 18:13:58 bde Exp $
+ * $Id: isa.c,v 1.108 1997/11/30 09:44:28 jmg Exp $
*/
/*
@@ -137,6 +137,18 @@ haveseen(dvp, tmpdvp, checkbits)
if (tmpdvp->id_alive) {
char const *whatnot;
+ /*
+ * Check for device driver & unit conflict; just drop probing
+ * a device which has already probed true. This is usually
+ * not strictly a conflict, but rather the case of somebody
+ * having specified several mutually exclusive configurations
+ * for a single device.
+ */
+ if (tmpdvp->id_driver == dvp->id_driver &&
+ tmpdvp->id_unit == dvp->id_unit) {
+ return 1;
+ }
+
whatnot = checkbits & CC_ATTACH ? "attach" : "prob";
/*
* Check for I/O address conflict. We can only check the
OpenPOWER on IntegriCloud