summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKATO Takenori <kato@FreeBSD.org>1997-08-26 15:08:52 +0000
committerKATO Takenori <kato@FreeBSD.org>1997-08-26 15:08:52 +0000
commit91fc71559f3a1d45a204d10cfca0be3c5314a04a (patch)
tree5c79f57c511862a0263e3b5d6645f6ec79698db1
parentc2f5ca64d312f676e596fea000a6f42d2e37c031 (diff)
Notes
-rw-r--r--sys/pc98/pc98/pc98.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/sys/pc98/pc98/pc98.c b/sys/pc98/pc98/pc98.c
index 58b93a62202e..5571826e0fa3 100644
--- a/sys/pc98/pc98/pc98.c
+++ b/sys/pc98/pc98/pc98.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)isa.c 7.2 (Berkeley) 5/13/91
- * $Id: pc98.c,v 1.37 1997/08/13 11:00:49 kato Exp $
+ * $Id: pc98.c,v 1.38 1997/08/21 08:24:19 kato Exp $
*/
/*
@@ -141,10 +141,14 @@ haveseen(dvp, tmpdvp, checkbits)
u_int checkbits;
{
/*
- * Only check against devices that have already been found and are not
- * unilaterally allowed to conflict anyway.
+ * Ignore all conflicts except IRQ ones if conflicts are allowed.
*/
- if (tmpdvp->id_alive && !dvp->id_conflicts) {
+ if (dvp->id_conflicts)
+ checkbits &= ~(CC_DRQ | CC_IOADDR | CC_MEMADDR);
+ /*
+ * Only check against devices that have already been found.
+ */
+ if (tmpdvp->id_alive) {
char const *whatnot;
whatnot = checkbits & CC_ATTACH ? "attach" : "prob";
@@ -531,9 +535,8 @@ config_isadev_c(isdp, mp, reconfig)
* a check for IRQs in the next group of checks.
*/
checkbits |= CC_IRQ;
- if (haveseen_isadev(isdp, checkbits)) {
+ if (haveseen_isadev(isdp, checkbits))
return;
- }
isdp->id_alive = id_alive;
}
(*dp->attach)(isdp);
@@ -1058,4 +1061,3 @@ struct isa_device *find_isadev(table, driverp, unit)
return (table);
}
-