diff options
Diffstat (limited to 'usr/src/lib/sun_fc/common/TgtFCHBAPort.cc')
-rw-r--r-- | usr/src/lib/sun_fc/common/TgtFCHBAPort.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/usr/src/lib/sun_fc/common/TgtFCHBAPort.cc b/usr/src/lib/sun_fc/common/TgtFCHBAPort.cc index 511df32308..44c086d765 100644 --- a/usr/src/lib/sun_fc/common/TgtFCHBAPort.cc +++ b/usr/src/lib/sun_fc/common/TgtFCHBAPort.cc @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -401,6 +401,7 @@ void TgtFCHBAPort::sendRLS(uint64_t destWWN, fctio_t fctio; // fc_hba_adapter_port_stats_t fc_port_stat; uint64_t en_portWWN; + uint64_t DestPortID; // Validate the arguments if (pRspBuffer == NULL || @@ -417,13 +418,14 @@ void TgtFCHBAPort::sendRLS(uint64_t destWWN, /* The destWWN is either the adapter port or a discovered port. */ memset(&fctio, 0, sizeof (fctio)); - fctio.fctio_cmd = FCTIO_GET_ADAPTER_PORT_STATS; + fctio.fctio_cmd = FCTIO_GET_LINK_STATUS; fctio.fctio_ibuf = (uint64_t)(uintptr_t)&en_portWWN; fctio.fctio_ilen = (uint32_t)(sizeof (en_portWWN)); if (portWWN != destWWN) { attrs = getDiscoveredAttributes(destWWN, tmp); - fctio.fctio_abuf = (uint64_t)(uintptr_t)&attrs.PortFcId; - fctio.fctio_alen = (uint32_t)(sizeof (attrs.PortFcId)); + DestPortID = (uint64_t)attrs.PortFcId; + fctio.fctio_abuf = (uint64_t)(uintptr_t)&DestPortID; + fctio.fctio_alen = (uint32_t)(sizeof (DestPortID)); } fctio.fctio_xfer = FCTIO_XFER_READ; fctio.fctio_flags = 0; |