summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authormjacob <mjacob@FreeBSD.org>1999-12-20 01:35:04 +0000
committermjacob <mjacob@FreeBSD.org>1999-12-20 01:35:04 +0000
commit5cc712749555c0c5d76dadf5d9485b8608894b8f (patch)
treee0344c76a49ed50b084369c7740fe95ad3bdb361 /sys
parent2b2de7899b1543f7039735fc1330152accb893f7 (diff)
downloadFreeBSD-src-5cc712749555c0c5d76dadf5d9485b8608894b8f.zip
FreeBSD-src-5cc712749555c0c5d76dadf5d9485b8608894b8f.tar.gz
Clean up lun width determination based upon f/w revisions
for the parallel SCSI cards (4.55..4.65 :: 8.55..8.65).
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/isp/isp_freebsd.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/dev/isp/isp_freebsd.c b/sys/dev/isp/isp_freebsd.c
index f147ec3..ba45c9e 100644
--- a/sys/dev/isp/isp_freebsd.c
+++ b/sys/dev/isp/isp_freebsd.c
@@ -157,14 +157,17 @@ isp_cam_async(void *cbarg, u_int32_t code, struct cam_path *path, void *arg)
if (IS_SCSI(isp)) {
u_int16_t oflags, nflags;
sdparam *sdp = isp->isp_param;
- int s, tgt = xpt_path_target_id(path);
+ int s, rvf, tgt;
+ tgt = xpt_path_target_id(path);
+ rvf = ISP_FW_REVX(isp->isp_fwrev);
s = splcam();
sdp += cam_sim_bus(sim);
isp->isp_update |= (1 << cam_sim_bus(sim));
nflags = DPARM_SAFE_DFLT;
- if (ISP_FW_REVX(isp->isp_fwrev) >=
- ISP_FW_REV(7, 55, 0)) {
+ if (rvf >= ISP_FW_REV(7, 55, 0) ||
+ (ISP_FW_REV(4, 55, 0) <= rvf &&
+ (rvf < ISP_FW_REV(5, 0, 0)))) {
nflags |= DPARM_NARROW | DPARM_ASYNC;
}
oflags = sdp->isp_devparam[tgt].dev_flags;
OpenPOWER on IntegriCloud