Create a Node WWN from the *Port* WWN, not vice versa, for 2400s.
If the NAA is type 2, the Node WWN is the Port WWN with the 12 bits of port (48..60) cleared. This iff a wwn fetched from NVRAM is zero. MFC after: 1 week
This commit is contained in:
parent
15768c780a
commit
1d52a1ad42
@ -8350,11 +8350,6 @@ isp_parse_nvram_2400(ispsoftc_t *isp, uint8_t *nvram_data)
|
||||
ISP2400_NVRAM_FIRMWARE_OPTIONS3(nvram_data));
|
||||
|
||||
wwn = ISP2400_NVRAM_PORT_NAME(nvram_data);
|
||||
if (wwn) {
|
||||
if ((wwn >> 60) != 2 && (wwn >> 60) != 5) {
|
||||
wwn = 0;
|
||||
}
|
||||
}
|
||||
fcp->isp_wwpn_nvram = wwn;
|
||||
|
||||
wwn = ISP2400_NVRAM_NODE_NAME(nvram_data);
|
||||
@ -8363,6 +8358,10 @@ isp_parse_nvram_2400(ispsoftc_t *isp, uint8_t *nvram_data)
|
||||
wwn = 0;
|
||||
}
|
||||
}
|
||||
if (wwn == 0 && (fcp->isp_wwpn_nvram >> 60) == 2) {
|
||||
wwn = fcp->isp_wwpn_nvram;
|
||||
wwn &= ~((uint64_t) 0xfff << 48);
|
||||
}
|
||||
fcp->isp_wwnn_nvram = wwn;
|
||||
|
||||
if (ISP2400_NVRAM_EXCHANGE_COUNT(nvram_data)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user