summaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorNiklas Hallqvist <niklas@cvs.openbsd.org>1999-01-19 01:11:26 +0000
committerNiklas Hallqvist <niklas@cvs.openbsd.org>1999-01-19 01:11:26 +0000
commitd0e917bef2cc02dcafa2bcbee2fd248162dc9d10 (patch)
tree693e63d995528bf1a66dee5f1071279ac5d8900f /usr.sbin
parentfe46565fb8bff53ebcafa4f9aca2a70eb5ca0032 (diff)
Retry sane probe ordering, i.e. ordered like the attachments
found in the various config files.
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/config/pack.c13
-rw-r--r--usr.sbin/config/sem.c3
2 files changed, 10 insertions, 6 deletions
diff --git a/usr.sbin/config/pack.c b/usr.sbin/config/pack.c
index 98b05691962..8cc8659ff5a 100644
--- a/usr.sbin/config/pack.c
+++ b/usr.sbin/config/pack.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pack.c,v 1.8 1996/12/12 00:24:41 niklas Exp $ */
+/* $OpenBSD: pack.c,v 1.9 1999/01/19 01:11:25 niklas Exp $ */
/* $NetBSD: pack.c,v 1.5 1996/08/31 21:15:11 mycroft Exp $ */
/*
@@ -166,19 +166,22 @@ void
packdevi()
{
register struct devi *i, *l, *p;
- register struct devbase *d;
+ register struct deva *d;
register int j, m, n;
packed = emalloc((ndevi + 1) * sizeof *packed);
n = 0;
- for (d = allbases; d != NULL; d = d->d_next) {
+ for (d = alldevas; d != NULL; d = d->d_next) {
/*
- * For each instance of each device, add or collapse
+ * For each instance of each attachment, add or collapse
* all its aliases.
*/
- for (i = d->d_ihead; i != NULL; i = i->i_bsame) {
+ for (i = d->d_ihead; i != NULL; i = i->i_asame) {
m = n;
for (l = i; l != NULL; l = l->i_alias) {
+ /* Skip if we already handled this one. */
+ if (l->i_cfindex >= 0)
+ continue;
l->i_pvlen = 0;
l->i_pvoff = -1;
l->i_locoff = -1;
diff --git a/usr.sbin/config/sem.c b/usr.sbin/config/sem.c
index 1864b18ec45..fbfde4c07a6 100644
--- a/usr.sbin/config/sem.c
+++ b/usr.sbin/config/sem.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sem.c,v 1.12 1997/11/13 08:21:56 deraadt Exp $ */
+/* $OpenBSD: sem.c,v 1.13 1999/01/19 01:11:24 niklas Exp $ */
/* $NetBSD: sem.c,v 1.10 1996/11/11 23:40:11 gwr Exp $ */
/*
@@ -728,6 +728,7 @@ newdevi(name, unit, d)
i->i_atdeva = NULL;
i->i_locs = NULL;
i->i_cfflags = 0;
+ i->i_cfindex = -1;
i->i_lineno = currentline();
if (unit >= d->d_umax)
d->d_umax = unit + 1;