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:
parent
a112a90a01
commit
2d1e2e5550
@ -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 {
|
||||
|
@ -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 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user