For parallel SCSI, let us now do status with the final CTIO. For the 1080,

I was hanging after sending a xfer CTIO and a status CTIO for a non-discon
INQUIRY- the xfer CTIO was returned as completed OK, but the status CTIO
was dropped on the floor. All the fields looked good. I don't know why
it got dropped. But allowing status to go back with data xfer seemed to
work. I also noticed that with a non-disconnecting command that the
firmware handle in the ATIO is zero- this leads me to believe that the
f/w really can only handle one CTIO at a time in the discon case, and
it had no idea what to do with the second (status) CTIO.
This commit is contained in:
Matt Jacob 2001-03-21 00:49:37 +00:00
parent 290dc24b4d
commit b72b15696c

View file

@ -1090,11 +1090,14 @@ tdma_mk(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error)
*/
scsi_status = cto->ct_scsi_status;
#if 0
sflags |= CT_NODATA;
/*
* We can't do a status at the same time as a data CTIO, so
* we need to synthesize an extra CTIO at this level.
*/
nctios++;
#endif
} else {
sflags = scsi_status = resid = 0;
}
@ -1169,7 +1172,7 @@ tdma_mk(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error)
if (send_status) {
cto->ct_scsi_status = scsi_status;
cto->ct_flags |= sflags | CT_NO_DATA;;
cto->ct_flags |= sflags;
cto->ct_resid = resid;
}
if (send_status) {