diff options
author | scottl <scottl@FreeBSD.org> | 2002-08-10 19:55:00 +0000 |
---|---|---|
committer | scottl <scottl@FreeBSD.org> | 2002-08-10 19:55:00 +0000 |
commit | c78ea1d741d77a23a623682662f957cc4e152643 (patch) | |
tree | 64d67b2baa719b648f05d94aef410ad26ba58018 /sys/dev/aac/aac_cam.c | |
parent | 48bfad9a43977092a9787bdc999365b8a102981b (diff) | |
download | FreeBSD-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.c | 15 |
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); |