aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/isp
diff options
context:
space:
mode:
authorMatt Jacob <mjacob@FreeBSD.org>1999-12-20 01:35:04 +0000
committerMatt Jacob <mjacob@FreeBSD.org>1999-12-20 01:35:04 +0000
commitf9e908dcf291dc749ab49fb466ccbe26f2084096 (patch)
tree1774d5c9a661e6253899701415f1ee1178ce2daa /sys/dev/isp
parent9ee303fb4623ef9742a7964dcc798bb470e044e8 (diff)
Notes
Diffstat (limited to 'sys/dev/isp')
-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 f147ec3f63c6..ba45c9e50985 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;