summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorad <ad@NetBSD.org>2001-01-01 19:03:30 +0000
committerad <ad@NetBSD.org>2001-01-01 19:03:30 +0000
commitc29358e0f970a7743e4ec72e1ac3d13f5ccb490b (patch)
tree643911f74c1ee7612005b20e9f6e8f418bcccf8c /sys/dev
parentd3562d8247b96e865ef7a76f0cb1432f6ea739f7 (diff)
Don't try to configure `uninteresting' devices.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/i2o/iop.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/dev/i2o/iop.c b/sys/dev/i2o/iop.c
index 632f16b381f..ce6fec8fdf7 100644
--- a/sys/dev/i2o/iop.c
+++ b/sys/dev/i2o/iop.c
@@ -1,4 +1,4 @@
-/* $NetBSD: iop.c,v 1.7 2000/12/03 15:51:36 ad Exp $ */
+/* $NetBSD: iop.c,v 1.8 2001/01/01 19:03:30 ad Exp $ */
/*-
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -625,7 +625,7 @@ iop_configure_devices(struct iop_softc *sc)
struct iop_attach_args ia;
struct iop_initiator *ii;
const struct i2o_lct_entry *le;
- int i, nent;
+ int i, j, nent;
nent = sc->sc_nlctent;
for (i = 0, le = sc->sc_lct->entry; i < nent; i++, le++) {
@@ -638,6 +638,14 @@ iop_configure_devices(struct iop_softc *sc)
ia.ia_class = le16toh(le->classid) & 4095;
ia.ia_tid = le32toh(le->localtid) & 4095;
+ /* Ignore uninteresting devices. */
+ for (j = 0; j < sizeof(iop_class) / sizeof(iop_class[0]); j++)
+ if (iop_class[j].ic_class == ia.ia_class)
+ break;
+ if (j < sizeof(iop_class) / sizeof(iop_class[0]) &&
+ (iop_class[j].ic_flags & IC_CONFIGURE) == 0)
+ continue;
+
/*
* Try to configure the device only if it's not already
* configured.