If the CDB length is greater than 12 for parallel SCSI, ispscsicmd has

made the initial queue entry a EXTENDED CMD queue entry, so we have to
go straight to continuation segments for any data segments.

approved: jkh
This commit is contained in:
Matt Jacob 2000-02-15 00:50:01 +00:00
parent fe4d046167
commit e142669a43
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=57214
2 changed files with 10 additions and 2 deletions

View File

@ -1525,7 +1525,11 @@ dma2(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error)
((ispreqt2_t *)rq)->req_flags |= REQFLAG_DATA_OUT;
}
} else {
seglim = ISP_RQDSEG;
if (csio->cdb_len > 12) {
seglim = 0;
} else {
seglim = ISP_RQDSEG;
}
if ((csio->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) {
rq->req_flags |= REQFLAG_DATA_IN;
} else {

View File

@ -1525,7 +1525,11 @@ dma2(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error)
((ispreqt2_t *)rq)->req_flags |= REQFLAG_DATA_OUT;
}
} else {
seglim = ISP_RQDSEG;
if (csio->cdb_len > 12) {
seglim = 0;
} else {
seglim = ISP_RQDSEG;
}
if ((csio->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) {
rq->req_flags |= REQFLAG_DATA_IN;
} else {