From 2f401e5f094971ee6a632893781330b0a98c02e3 Mon Sep 17 00:00:00 2001 From: Joerg Wunsch Date: Fri, 20 Dec 1996 20:43:45 +0000 Subject: [PATCH] Reorder the wildcard entries to the end of the quirks list, so they will be probed last. It's otherwise impossible in some cases to get SCSI type override working. Supposed fix for PR # kern/2225. --- sys/scsi/scsiconf.c | 62 ++++++++++++++++++++++++++++----------------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/sys/scsi/scsiconf.c b/sys/scsi/scsiconf.c index 86008c581df7..c7eb2b6becfc 100644 --- a/sys/scsi/scsiconf.c +++ b/sys/scsi/scsiconf.c @@ -16,7 +16,7 @@ * * New configuration setup: dufault@hda.com * - * $Id: scsiconf.c,v 1.71 1996/12/13 00:00:51 joerg Exp $ + * $Id: scsiconf.c,v 1.72 1996/12/14 09:57:04 joerg Exp $ */ #include "opt_scsi.h" @@ -265,20 +265,12 @@ static struct scsidevs knowndevs[] = T_DIRECT, T_OPTICAL, T_REMOV, "RICOH", "RO-*", "*", "od", SC_ONE_LU }, - { - T_OPTICAL, T_OPTICAL, T_REMOV, "*", "*", "*", - "od", SC_ONE_LU - }, #endif /* NOD */ #if NSD > 0 { T_DIRECT, T_DIRECT, T_FIXED, "EMULEX", "MD21*" , "*", "sd", SC_MORE_LUS }, - { - T_DIRECT, T_DIRECT, T_FIXED, "*", "*", "*", - "sd", SC_ONE_LU - }, #endif /* NSD */ #if NST > 0 { @@ -313,17 +305,7 @@ static struct scsidevs knowndevs[] = T_SEQUENTIAL, T_SEQUENTIAL, T_REMOV, "Quantum", "DLT*", "*", "st", SC_MORE_LUS, 0 }, - { - T_SEQUENTIAL, T_SEQUENTIAL, T_REMOV, "*", "*", "*", - "st", SC_ONE_LU, 0, mode_unktape - }, #endif /* NST */ -#if NCH > 0 - { - T_CHANGER, T_CHANGER, T_REMOV, "*", "*", "*", - "ch", SC_ONE_LU - }, -#endif /* NCH */ #if NCD > 0 #ifndef UKTEST /* make cdroms unrecognised to test the uk driver */ /* @@ -371,10 +353,6 @@ static struct scsidevs knowndevs[] = * Doobe-doo-be doooo * -Mary */ - { - T_READONLY, T_READONLY, T_REMOV, "*", "*", "*", - "cd", SC_ONE_LU - }, #endif /* !UKTEST */ #endif /* NCD */ #if NWORM > 0 @@ -399,6 +377,44 @@ static struct scsidevs knowndevs[] = T_READONLY, T_WORM, T_REMOV, "PLASMON", "RF41*", "*", "worm", SC_ONE_LU }, +#endif /* NWORM */ + + /* + * Wildcard entries. Keep them down here below all device + * specific entries, so the above ones can override the type + * driver if necessary. + */ +#if NOD > 0 + { + T_OPTICAL, T_OPTICAL, T_REMOV, "*", "*", "*", + "od", SC_ONE_LU + }, +#endif /* NOD */ +#if NSD > 0 + { + T_DIRECT, T_DIRECT, T_FIXED, "*", "*", "*", + "sd", SC_ONE_LU + }, +#endif /* NSD */ +#if NST > 0 + { + T_SEQUENTIAL, T_SEQUENTIAL, T_REMOV, "*", "*", "*", + "st", SC_ONE_LU, 0, mode_unktape + }, +#endif /* NST */ +#if NCH > 0 + { + T_CHANGER, T_CHANGER, T_REMOV, "*", "*", "*", + "ch", SC_ONE_LU + }, +#endif /* NCH */ +#if NCD > 0 && !defined(UKTEST) + { + T_READONLY, T_READONLY, T_REMOV, "*", "*", "*", + "cd", SC_ONE_LU + }, +#endif /* NCD */ +#if NWORM > 0 { T_WORM, T_WORM, T_REMOV, "*", "*", "*", "worm", SC_ONE_LU