Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/sparc/sparc When matching scsi disks, check for the...
details: https://anonhg.NetBSD.org/src/rev/870a1c978a8c
branches: trunk
changeset: 480434:870a1c978a8c
user: pk <pk%NetBSD.org@localhost>
date: Wed Jan 12 15:53:29 2000 +0000
description:
When matching scsi disks, check for the scsibus parent in the previous
entry in the boot path. Noted by Matthew Jacob.
diffstat:
sys/arch/sparc/sparc/autoconf.c | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
diffs (38 lines):
diff -r b9d7a84f837f -r 870a1c978a8c sys/arch/sparc/sparc/autoconf.c
--- a/sys/arch/sparc/sparc/autoconf.c Wed Jan 12 15:00:47 2000 +0000
+++ b/sys/arch/sparc/sparc/autoconf.c Wed Jan 12 15:53:29 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: autoconf.c,v 1.130 2000/01/12 14:53:17 mjacob Exp $ */
+/* $NetBSD: autoconf.c,v 1.131 2000/01/12 15:53:29 pk Exp $ */
/*
* Copyright (c) 1996
@@ -1718,6 +1718,7 @@
strcpy(bootpath[nbootpath].name, "fd");
nbootpath++;
}
+ bp->dev = dev;
bootpath_store(1, bp + 1);
return;
}
@@ -1733,6 +1734,9 @@
/*
* A SCSI disk or cd; retrieve target/lun information
* from parent and match with current bootpath component.
+ * Note that we also have look back past the `scsibus'
+ * device to determine whether this target is on the
+ * correct controller in our boot path.
*/
struct scsipibus_attach_args *sa = aux;
struct scsipi_link *sc_link = sa->sa_sc_link;
@@ -1741,6 +1745,10 @@
u_int target = bp->val[0];
u_int lun = bp->val[1];
+ /* Check the controller that this scsibus is on */
+ if ((bp-1)->dev != sbsc->sc_dev.dv_parent)
+ return;
+
/*
* Bounds check: we know the target and lun widths.
*/
Home |
Main Index |
Thread Index |
Old Index