diff options
author | mjacob <mjacob@FreeBSD.org> | 2007-01-20 04:00:21 +0000 |
---|---|---|
committer | mjacob <mjacob@FreeBSD.org> | 2007-01-20 04:00:21 +0000 |
commit | 31cdd06b7a65f1d446e539addc985286967ddbd7 (patch) | |
tree | 792fae0deb725a4903b51a0a3ecacd02fad8422b /sys/dev/isp/isp_freebsd.c | |
parent | 8ea92215ceca5ac7158c4e42c2cb6db4ba06072e (diff) | |
download | FreeBSD-src-31cdd06b7a65f1d446e539addc985286967ddbd7.zip FreeBSD-src-31cdd06b7a65f1d446e539addc985286967ddbd7.tar.gz |
MFP4: Move default setting to the end of isp_reset instead of the
front of isp_init so we can read NVRAM even if we're role ISP_NONE.
Prepare for reintroduction of channels (for FC) for N-Port
Virtualization.
Fix a botch in handle assignment that caused us to nuke one device
when a new one arrives and end up with two devices with the same
identity in the virtual target mapping table.
Diffstat (limited to 'sys/dev/isp/isp_freebsd.c')
-rw-r--r-- | sys/dev/isp/isp_freebsd.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/isp/isp_freebsd.c b/sys/dev/isp/isp_freebsd.c index 9bbba1d..124a6ee 100644 --- a/sys/dev/isp/isp_freebsd.c +++ b/sys/dev/isp/isp_freebsd.c @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include <sys/sysctl.h> #endif #include <cam/cam_periph.h> +#include <cam/cam_xpt_periph.h> #if !defined(CAM_NEW_TRAN_CODE) && __FreeBSD_version >= 700025 #define CAM_NEW_TRAN_CODE 1 @@ -485,8 +486,8 @@ ispioctl(_DEV dev, u_long c, caddr_t addr, int flags, _IOP *td) hba->fc_scsi_supported = 1; hba->fc_topology = FCPARAM(isp)->isp_topo + 1; hba->fc_loopid = FCPARAM(isp)->isp_loopid; - hba->nvram_node_wwn = FCPARAM(isp)->isp_nodewwn; - hba->nvram_port_wwn = FCPARAM(isp)->isp_portwwn; + hba->nvram_node_wwn = FCPARAM(isp)->isp_wwnn_nvram; + hba->nvram_port_wwn = FCPARAM(isp)->isp_wwpn_nvram; hba->active_node_wwn = ISP_NODEWWN(isp); hba->active_port_wwn = ISP_PORTWWN(isp); } @@ -1670,7 +1671,7 @@ isp_handle_platform_atio(ispsoftc_t *isp, at_entry_t *aep) * Construct a tag 'id' based upon tag value (which may be 0..255) * and the handle (which we have to preserve). */ - AT_MAKE_TAGID(atiop->tag_id, device_get_unit(isp->isp_dev), aep); + AT_MAKE_TAGID(atiop->tag_id, bus, device_get_unit(isp->isp_dev), aep); if (aep->at_flags & AT_TQAE) { atiop->tag_action = aep->at_tag_type; atiop->ccb_h.status |= CAM_TAG_ACTION_VALID; |