From 3d5c3b1920666af9ac7e6f67a9e31c87bc48649d Mon Sep 17 00:00:00 2001 From: David Gwynne Date: Tue, 11 Jul 2006 21:55:47 +0000 Subject: the scsi_link structure contained a copy of the inquiry flags and the whole inquiry. this removes the flags member and makes all its users refer to the whole inquiry now. ok miod@ krw@ --- sys/arch/mac68k/dev/ncr5380.c | 4 ++-- sys/scsi/scsiconf.c | 6 ++---- sys/scsi/scsiconf.h | 5 ++--- sys/scsi/sd.c | 4 ++-- 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/sys/arch/mac68k/dev/ncr5380.c b/sys/arch/mac68k/dev/ncr5380.c index 3f0ccb9c588..68e8786d386 100644 --- a/sys/arch/mac68k/dev/ncr5380.c +++ b/sys/arch/mac68k/dev/ncr5380.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ncr5380.c,v 1.27 2006/04/14 09:36:49 martin Exp $ */ +/* $OpenBSD: ncr5380.c,v 1.28 2006/07/11 21:55:46 dlg Exp $ */ /* $NetBSD: ncr5380.c,v 1.38 1996/12/19 21:48:18 scottr Exp $ */ /* @@ -369,7 +369,7 @@ mac68k_ncr5380_scsi_cmd(struct scsi_xfer *xs) } while (tmp->next && (tmp = tmp->next)); tmp->next = reqp; #ifdef AUTO_SENSE - if (link && ( (xs->sc_link->inquiry_flags & SID_Linked) + if (link && ((xs->sc_link->inqdata.flags & SID_Linked) || ((1<targ_id) & ncr5380_allow_linked)) && !((1<targ_id) & ncr5380_disallow_linked)) { link->link = reqp; diff --git a/sys/scsi/scsiconf.c b/sys/scsi/scsiconf.c index 006231f02de..b1d5755773a 100644 --- a/sys/scsi/scsiconf.c +++ b/sys/scsi/scsiconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: scsiconf.c,v 1.104 2006/07/11 09:45:53 dlg Exp $ */ +/* $OpenBSD: scsiconf.c,v 1.105 2006/07/11 21:55:46 dlg Exp $ */ /* $NetBSD: scsiconf.c,v 1.57 1996/05/02 01:09:01 neil Exp $ */ /* @@ -556,7 +556,6 @@ scsi_probedev(struct scsibus_softc *scsi, struct scsi_inquiry_data *inqbuflun0, sc_link->target = target; sc_link->lun = lun; sc_link->device = &probe_switch; - sc_link->inquiry_flags = 0; SC_DEBUG(sc_link, SDEV_DB2, ("scsi_link created.\n")); @@ -655,9 +654,8 @@ scsi_probedev(struct scsibus_softc *scsi, struct scsi_inquiry_data *inqbuflun0, sc_link->scsi_version = inqbuf.version; /* - * Save INQUIRY "flags" (SID_Linked, etc.) for low-level drivers. + * Save INQUIRY. */ - sc_link->inquiry_flags = inqbuf.flags; memcpy(&sc_link->inqdata, &inqbuf, sizeof(sc_link->inqdata)); /* diff --git a/sys/scsi/scsiconf.h b/sys/scsi/scsiconf.h index 63e11813ff5..762392cb82a 100644 --- a/sys/scsi/scsiconf.h +++ b/sys/scsi/scsiconf.h @@ -1,4 +1,4 @@ -/* $OpenBSD: scsiconf.h,v 1.67 2006/07/06 00:41:37 dlg Exp $ */ +/* $OpenBSD: scsiconf.h,v 1.68 2006/07/11 21:55:46 dlg Exp $ */ /* $NetBSD: scsiconf.h,v 1.35 1997/04/02 02:29:38 mycroft Exp $ */ /* @@ -192,12 +192,11 @@ struct scsi_link { #define ADEV_NOTUR 0x1000 /* No TEST UNIT READY */ #define ADEV_NODOORLOCK 0x2000 /* can't lock door */ #define SDEV_ONLYBIG 0x4000 /* always use READ_BIG and WRITE_BIG */ - u_int8_t inquiry_flags; /* copy of flags from probe INQUIRY */ + u_char luns; struct scsi_device *device; /* device entry points etc. */ void *device_softc; /* needed for call to foo_start */ struct scsi_adapter *adapter; /* adapter entry points etc. */ void *adapter_softc; /* needed for call to foo_scsi_cmd */ - u_char luns; struct scsi_inquiry_data inqdata; /* copy of INQUIRY data from probe */ }; diff --git a/sys/scsi/sd.c b/sys/scsi/sd.c index fc928eb261e..34f41f6a2ed 100644 --- a/sys/scsi/sd.c +++ b/sys/scsi/sd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sd.c,v 1.106 2006/05/18 00:10:05 krw Exp $ */ +/* $OpenBSD: sd.c,v 1.107 2006/07/11 21:55:46 dlg Exp $ */ /* $NetBSD: sd.c,v 1.111 1997/04/02 02:29:41 mycroft Exp $ */ /*- @@ -192,7 +192,7 @@ sdattach(parent, self, aux) if ((sc_link->flags & SDEV_ATAPI) && (sc_link->flags & SDEV_REMOVABLE)) sc_link->quirks |= SDEV_NOSYNCCACHE; - if (!(sc_link->inquiry_flags & SID_RelAdr)) + if (!(sc_link->inqdata.flags & SID_RelAdr)) sc_link->quirks |= SDEV_ONLYBIG; /* -- cgit v1.2.3