From 2f4bfb29bbc532abdce6e56377fe0227ba9a944e Mon Sep 17 00:00:00 2001 From: Scott Long Date: Sat, 10 Aug 2002 19:55:00 +0000 Subject: 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 --- sys/dev/aac/aac_cam.c | 15 +++++++-------- sys/dev/aac/aac_pci.c | 4 ++-- 2 files changed, 9 insertions(+), 10 deletions(-) (limited to 'sys/dev/aac') diff --git a/sys/dev/aac/aac_cam.c b/sys/dev/aac/aac_cam.c index d8c5727f5345..44f7db42b317 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); diff --git a/sys/dev/aac/aac_pci.c b/sys/dev/aac/aac_pci.c index 9a197b6d8f4b..e5daf9ddbb1e 100644 --- a/sys/dev/aac/aac_pci.c +++ b/sys/dev/aac/aac_pci.c @@ -115,8 +115,8 @@ struct aac_ident "Dell PERC 3/Di"}, {0x1011, 0x0046, 0x9005, 0x0364, AAC_HWIF_STRONGARM, AAC_QUIRK_NOCAM, "Adaptec AAC-364"}, - {0x1011, 0x0046, 0x9005, 0x0365, AAC_HWIF_STRONGARM, 0, - "Adaptec SCSI RAID 5400S"}, + {0x1011, 0x0046, 0x9005, 0x0365, AAC_HWIF_STRONGARM, + AAC_QUIRK_CAM_NORESET, "Adaptec SCSI RAID 5400S"}, {0x1011, 0x0046, 0x9005, 0x1364, AAC_HWIF_STRONGARM, AAC_QUIRK_NOCAM | AAC_QUIRK_PERC2QC, "Dell PERC 2/QC"}, {0x1011, 0x0046, 0x103c, 0x10c2, AAC_HWIF_STRONGARM, -- cgit v1.3