From: Peng Zhang <peng.zh...@corigine.com> Adjust the logic to also support the flower firmware with multiple PF.
Signed-off-by: Peng Zhang <peng.zh...@corigine.com> Reviewed-by: Chaoyong He <chaoyong...@corigine.com> Reviewed-by: Long Wu <long...@corigine.com> --- drivers/net/nfp/nfp_ethdev.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c index d560bd695f..9867db9729 100644 --- a/drivers/net/nfp/nfp_ethdev.c +++ b/drivers/net/nfp/nfp_ethdev.c @@ -1504,6 +1504,9 @@ nfp_enable_multi_pf(struct nfp_pf_dev *pf_dev) struct nfp_cpp_area *area; char name[RTE_ETH_NAME_MAX_LEN]; + if (!pf_dev->multi_pf.enabled) + return 0; + memset(&net_hw, 0, sizeof(struct nfp_net_hw)); /* Map the symbol table */ @@ -1872,12 +1875,6 @@ nfp_fw_app_primary_init(struct nfp_net_hw_priv *hw_priv) switch (pf_dev->app_fw_id) { case NFP_APP_FW_CORE_NIC: - if (pf_dev->multi_pf.enabled) { - ret = nfp_enable_multi_pf(pf_dev); - if (ret != 0) - return ret; - } - PMD_INIT_LOG(INFO, "Initializing coreNIC"); ret = nfp_init_app_fw_nic(hw_priv); if (ret != 0) { @@ -2248,6 +2245,10 @@ nfp_pf_init(struct rte_pci_device *pci_dev) goto mac_stats_cleanup; } + ret = nfp_enable_multi_pf(pf_dev); + if (ret != 0) + goto vf_cfg_tbl_cleanup; + hw_priv->pf_dev = pf_dev; hw_priv->dev_info = dev_info; -- 2.39.1