diff options
author | Justin T. Gibbs <gibbs@FreeBSD.org> | 1998-10-15 23:17:58 +0000 |
---|---|---|
committer | Justin T. Gibbs <gibbs@FreeBSD.org> | 1998-10-15 23:17:58 +0000 |
commit | 0a42741c4a960bb4b6221028c31d109a319eed6d (patch) | |
tree | 12619f19e076851803a097b4fbada21db6a71fb0 | |
parent | bb1f2fe47f8248f26e0cf4758179842440b1a009 (diff) | |
download | src-0a42741c4a960bb4b6221028c31d109a319eed6d.tar.gz src-0a42741c4a960bb4b6221028c31d109a319eed6d.zip |
Honor CAM_TAG_ACTION_NONE.
Notes
Notes:
svn path=/head/; revision=40418
-rw-r--r-- | sys/dev/buslogic/bt.c | 7 | ||||
-rw-r--r-- | sys/dev/dpt/dpt_scsi.c | 5 | ||||
-rw-r--r-- | sys/dev/isp/isp_freebsd_cam.h | 3 | ||||
-rw-r--r-- | sys/pci/ncr.c | 5 |
4 files changed, 12 insertions, 8 deletions
diff --git a/sys/dev/buslogic/bt.c b/sys/dev/buslogic/bt.c index 0087453dddef..ad34914d20fd 100644 --- a/sys/dev/buslogic/bt.c +++ b/sys/dev/buslogic/bt.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: bt.c,v 1.4 1998/09/20 05:08:15 gibbs Exp $ + * $Id: bt.c,v 1.5 1998/10/09 21:38:34 gibbs Exp $ */ /* @@ -1013,7 +1013,8 @@ btaction(struct cam_sim *sim, union ccb *ccb) return; } hccb->sense_len = csio->sense_len; - if ((ccbh->flags & CAM_TAG_ACTION_VALID) != 0) { + if ((ccbh->flags & CAM_TAG_ACTION_VALID) != 0 + && ccb->csio.tag_action != CAM_TAG_ACTION_NONE) { hccb->tag_enable = TRUE; hccb->tag_type = (ccb->csio.tag_action & 0x3); } else { @@ -2119,7 +2120,7 @@ bttimeout(void *arg) if ((bccb->flags & BCCB_DEVICE_RESET) != 0 || bt->cur_outbox->action_code != BMBO_FREE - || ((ccb->ccb_h.flags & CAM_TAG_ACTION_VALID) != 0 + || ((bccb->hccb.tag_enable == TRUE) && (bt->firmware_ver[0] < '5'))) { /* * Try a full host adapter/SCSI bus reset. diff --git a/sys/dev/dpt/dpt_scsi.c b/sys/dev/dpt/dpt_scsi.c index 6e41de93e02b..947caba76074 100644 --- a/sys/dev/dpt/dpt_scsi.c +++ b/sys/dev/dpt/dpt_scsi.c @@ -43,7 +43,7 @@ * arrays that span controllers (Wow!). */ -#ident "$Id: dpt_scsi.c,v 1.17 1998/10/02 03:40:53 gibbs Exp $" +#ident "$Id: dpt_scsi.c,v 1.18 1998/10/09 21:42:19 gibbs Exp $" #define _DPT_C_ @@ -779,7 +779,8 @@ dpt_action(struct cam_sim *sim, union ccb *ccb) ? 0 : 1; eccb->cp_identify = 1; - if ((ccb->ccb_h.flags & CAM_TAG_ACTION_VALID) != 0) { + if ((ccb->ccb_h.flags & CAM_TAG_ACTION_VALID) != 0 + && csio->tag_action != CAM_TAG_ACTION_NONE) { eccb->cp_msg[0] = csio->tag_action; eccb->cp_msg[1] = dccb->tag; } else { diff --git a/sys/dev/isp/isp_freebsd_cam.h b/sys/dev/isp/isp_freebsd_cam.h index 6e635350f700..383b0078f7d1 100644 --- a/sys/dev/isp/isp_freebsd_cam.h +++ b/sys/dev/isp/isp_freebsd_cam.h @@ -178,7 +178,8 @@ struct isposinfo { * Can we tag? */ -#define XS_CANTAG(ccb) ((ccb)->ccb_h.flags & CAM_TAG_ACTION_VALID) +#define XS_CANTAG(ccb) (((ccb)->ccb_h.flags & CAM_TAG_ACTION_VALID) \ + && (ccb)->tag_action != CAM_TAG_ACTION_NONE) /* * And our favorite tag is.... */ diff --git a/sys/pci/ncr.c b/sys/pci/ncr.c index d9a5ce2e8bf6..37033226272c 100644 --- a/sys/pci/ncr.c +++ b/sys/pci/ncr.c @@ -1,6 +1,6 @@ /************************************************************************** ** -** $Id: ncr.c,v 1.135 1998/09/26 14:37:49 dfr Exp $ +** $Id: ncr.c,v 1.136 1998/09/29 09:14:52 bde Exp $ ** ** Device driver for the NCR 53C8XX PCI-SCSI-Controller Family. ** @@ -1357,7 +1357,7 @@ static void ncr_attach (pcici_t tag, int unit); static char ident[] = - "\n$Id: ncr.c,v 1.135 1998/09/26 14:37:49 dfr Exp $\n"; + "\n$Id: ncr.c,v 1.136 1998/09/29 09:14:52 bde Exp $\n"; static const u_long ncr_version = NCR_VERSION * 11 + (u_long) sizeof (struct ncb) * 7 @@ -4023,6 +4023,7 @@ ncr_action (struct cam_sim *sim, union ccb *ccb) lp = tp->lp[ccb->ccb_h.target_lun]; if ((ccb->ccb_h.flags & CAM_TAG_ACTION_VALID) != 0 + && (ccb->csio.tag_action != CAM_TAG_ACTION_NONE) && (nego == 0)) { /* ** assign a tag to this nccb |