Commit 01fd76a7 authored by Chad Dupuis's avatar Chad Dupuis Committed by Martin K. Petersen

scsi: qedf: Set WWNN and WWPN based on values from qed.

If dev_info.wwpn and dev_info.wwnn are set by qed use these values to set
the WWNs of the port. Otherwise fall back to the old method using
fcoe_wwn_from_mac().
Signed-off-by: default avatarChad Dupuis <chad.dupuis@cavium.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent b4a028a5
......@@ -3058,9 +3058,24 @@ static int __qedf_probe(struct pci_dev *pdev, int mode)
QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, "MAC address is %pM.\n",
qedf->mac);
/* Set the WWNN and WWPN based on the MAC address */
qedf->wwnn = fcoe_wwn_from_mac(qedf->mac, 1, 0);
qedf->wwpn = fcoe_wwn_from_mac(qedf->mac, 2, 0);
/*
* Set the WWNN and WWPN in the following way:
*
* If the info we get from qed is non-zero then use that to set the
* WWPN and WWNN. Otherwise fall back to use fcoe_wwn_from_mac() based
* on the MAC address.
*/
if (qedf->dev_info.wwnn != 0 && qedf->dev_info.wwpn != 0) {
QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC,
"Setting WWPN and WWNN from qed dev_info.\n");
qedf->wwnn = qedf->dev_info.wwnn;
qedf->wwpn = qedf->dev_info.wwpn;
} else {
QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC,
"Setting WWPN and WWNN using fcoe_wwn_from_mac().\n");
qedf->wwnn = fcoe_wwn_from_mac(qedf->mac, 1, 0);
qedf->wwpn = fcoe_wwn_from_mac(qedf->mac, 2, 0);
}
QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, "WWNN=%016llx "
"WWPN=%016llx.\n", qedf->wwnn, qedf->wwpn);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment