summaryrefslogtreecommitdiffstats
path: root/sys/dev/isp/isp_freebsd.c
diff options
context:
space:
mode:
authormjacob <mjacob@FreeBSD.org>2007-01-20 04:00:21 +0000
committermjacob <mjacob@FreeBSD.org>2007-01-20 04:00:21 +0000
commit31cdd06b7a65f1d446e539addc985286967ddbd7 (patch)
tree792fae0deb725a4903b51a0a3ecacd02fad8422b /sys/dev/isp/isp_freebsd.c
parent8ea92215ceca5ac7158c4e42c2cb6db4ba06072e (diff)
downloadFreeBSD-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.c7
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;
OpenPOWER on IntegriCloud