diff options
| author | Matt Jacob <mjacob@FreeBSD.org> | 2010-06-21 04:37:39 +0000 |
|---|---|---|
| committer | Matt Jacob <mjacob@FreeBSD.org> | 2010-06-21 04:37:39 +0000 |
| commit | e56335882a4f5d01b5f89e5110a4749291e189ae (patch) | |
| tree | 192a3785de3d35e9f397d8fe758a1d5d26fc3d0c /sys/dev/isp | |
| parent | e0e1f8038fd4525caf49e53154173b00966ac01d (diff) | |
Notes
Diffstat (limited to 'sys/dev/isp')
| -rw-r--r-- | sys/dev/isp/isp_freebsd.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/isp/isp_freebsd.c b/sys/dev/isp/isp_freebsd.c index f7912d1b3e44..c7e3bb03b235 100644 --- a/sys/dev/isp/isp_freebsd.c +++ b/sys/dev/isp/isp_freebsd.c @@ -4499,6 +4499,7 @@ isp_action(struct cam_sim *sim, union ccb *ccb) fcparam *fcp = FCPARAM(isp, bus); struct ccb_trans_settings_scsi *scsi = &cts->proto_specific.scsi; struct ccb_trans_settings_fc *fc = &cts->xport_specific.fc; + unsigned int hdlidx; cts->protocol = PROTO_SCSI; cts->protocol_version = SCSI_REV_2; @@ -4510,8 +4511,9 @@ isp_action(struct cam_sim *sim, union ccb *ccb) fc->valid = CTS_FC_VALID_SPEED; fc->bitrate = 100000; fc->bitrate *= fcp->isp_gbspeed; - if (tgt > 0 && tgt < MAX_FC_TARG) { - fcportdb_t *lp = &fcp->portdb[tgt]; + hdlidx = fcp->isp_dev_map[tgt] - 1; + if (hdlidx < MAX_FC_TARG) { + fcportdb_t *lp = &fcp->portdb[hdlidx]; fc->wwnn = lp->node_wwn; fc->wwpn = lp->port_wwn; fc->port = lp->portid; |
