summaryrefslogtreecommitdiff
path: root/sys/scsi/scsiconf.c
diff options
context:
space:
mode:
authorKenneth R Westerback <krw@cvs.openbsd.org>2005-04-27 23:54:45 +0000
committerKenneth R Westerback <krw@cvs.openbsd.org>2005-04-27 23:54:45 +0000
commit03832ae83bfefc3dd374b7f4dfccea32b5c66746 (patch)
tree6a73d854878d29a02d7e47ff0d31d443ff8919c9 /sys/scsi/scsiconf.c
parent3fce0ae35555ddc188283602b48c73d16160cb65 (diff)
Add SDEV_UMASS flag, analogous to SDEV_ATAPI, and use it to force a
full LUN scan on UMASS SCSI targets. UMASS provides reliable max lun information so we shouldn't waste time. Fixes many x-in-1 card reader/writers that report identical INQUIRY information for every slot they provide. Lots of diagnosis and testing by dlg@, ok dlg@, 'I can live with this' marco@.
Diffstat (limited to 'sys/scsi/scsiconf.c')
-rw-r--r--sys/scsi/scsiconf.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/scsi/scsiconf.c b/sys/scsi/scsiconf.c
index 3d39c8b7455..e205e35d619 100644
--- a/sys/scsi/scsiconf.c
+++ b/sys/scsi/scsiconf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: scsiconf.c,v 1.92 2004/07/31 11:31:30 krw Exp $ */
+/* $OpenBSD: scsiconf.c,v 1.93 2005/04/27 23:54:44 krw Exp $ */
/* $NetBSD: scsiconf.c,v 1.57 1996/05/02 01:09:01 neil Exp $ */
/*
@@ -688,7 +688,9 @@ scsi_probedev(scsi, inqbuflun0, target, lun)
bcopy(&inqbuf, inqbuflun0, sizeof *inqbuflun0);
else if (((1 << sc_link->scsibus) & scsiforcelun_buses) &&
((1 << target) & scsiforcelun_targets))
- ;
+ ;
+ else if (sc_link->flags & SDEV_UMASS)
+ ;
else if (memcmp(&inqbuf, inqbuflun0, sizeof inqbuf) == 0) {
/* The device doesn't distinguish between LUNs. */
SC_DEBUG(sc_link, SDEV_DB1, ("IDENTIFY not supported.\n"));