diff options
| author | Matt Jacob <mjacob@FreeBSD.org> | 2010-06-07 17:39:36 +0000 |
|---|---|---|
| committer | Matt Jacob <mjacob@FreeBSD.org> | 2010-06-07 17:39:36 +0000 |
| commit | 95f7dfb2fad53e7e1ee894c9aff7b283e1c5dad4 (patch) | |
| tree | f6834d50d76020d98a6700102dc34419c10d7e0f /sys/dev/isp | |
| parent | b9771f0404e9ff09cd53b02a2dddde5b41c5c31b (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 597c5c7f43a26..1e34cfbe0165e 100644 --- a/sys/dev/isp/isp_freebsd.c +++ b/sys/dev/isp/isp_freebsd.c @@ -4506,6 +4506,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; @@ -4517,8 +4518,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; |
