summaryrefslogtreecommitdiffstats
path: root/sys/dev/aac/aac_cam.c
diff options
context:
space:
mode:
authorscottl <scottl@FreeBSD.org>2002-08-10 19:55:00 +0000
committerscottl <scottl@FreeBSD.org>2002-08-10 19:55:00 +0000
commitc78ea1d741d77a23a623682662f957cc4e152643 (patch)
tree64d67b2baa719b648f05d94aef410ad26ba58018 /sys/dev/aac/aac_cam.c
parent48bfad9a43977092a9787bdc999365b8a102981b (diff)
downloadFreeBSD-src-c78ea1d741d77a23a623682662f957cc4e152643.zip
FreeBSD-src-c78ea1d741d77a23a623682662f957cc4e152643.tar.gz
Fix GET_TRAN_SETTINGS to be more correct.
Don't allow SCSI resets on the 5400S card, it seems to cause problems with certain backplanes. Submitted by: lnb@freebsdsystems.com MFC after: 3 days
Diffstat (limited to 'sys/dev/aac/aac_cam.c')
-rw-r--r--sys/dev/aac/aac_cam.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/sys/dev/aac/aac_cam.c b/sys/dev/aac/aac_cam.c
index d8c5727..44f7db4 100644
--- a/sys/dev/aac/aac_cam.c
+++ b/sys/dev/aac/aac_cam.c
@@ -572,20 +572,19 @@ aac_cam_get_tran_settings(struct aac_softc *sc, struct ccb_trans_settings *cts,
}
cts->bus_width = ((vmi_resp->Inquiry7 & 0x60) >> 5);
+ cts->valid = CCB_TRANS_BUS_WIDTH_VALID;
+
if (vmi_resp->ScsiRate) {
cts->sync_period =
scsi_calc_syncparam((10000 / vmi_resp->ScsiRate));
cts->sync_offset = vmi_resp->ScsiOffset;
- } else {
- cts->sync_period = 0;
- cts->sync_offset = 0;
+ cts->valid |= CCB_TRANS_SYNC_RATE_VALID |
+ CCB_TRANS_SYNC_OFFSET_VALID;
}
+
cts->flags &= ~(CCB_TRANS_DISC_ENB | CCB_TRANS_TAG_ENB);
- cts->valid = CCB_TRANS_DISC_VALID |
- CCB_TRANS_SYNC_RATE_VALID |
- CCB_TRANS_SYNC_OFFSET_VALID |
- CCB_TRANS_BUS_WIDTH_VALID |
- CCB_TRANS_TQ_VALID;
+ cts->valid |= CCB_TRANS_DISC_VALID |
+ CCB_TRANS_TQ_VALID;
aac_release_sync_fib(sc);
return (CAM_REQ_CMP);
OpenPOWER on IntegriCloud