net/hns3: fix VF alive notification after config restore

Currently in the VF reset scenario, the VF performs the set
alive operation before restoring the configuration completed,
which may cause the hardware to work in an abnormal state.

This patch fix this problem by set VF alive after restoring
the configuration is completed.

Fixes: a5475d61fa34 ("net/hns3: support VF")
Cc: stable@dpdk.org

Signed-off-by: Hongbo Zheng <zhenghongbo3@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
This commit is contained in:
Hongbo Zheng 2021-05-07 17:08:17 +08:00 committed by Ferruh Yigit
parent 7d01f89fa6
commit 9c552087dc

View File

@ -1891,12 +1891,6 @@ hns3vf_init_hardware(struct hns3_adapter *hns)
goto err_init_hardware;
}
ret = hns3vf_set_alive(hw, true);
if (ret) {
PMD_INIT_LOG(ERR, "Failed to VF send alive to PF: %d", ret);
goto err_init_hardware;
}
return 0;
err_init_hardware:
@ -1995,6 +1989,12 @@ hns3vf_init_vf(struct rte_eth_dev *eth_dev)
hns3_rss_set_default_args(hw);
ret = hns3vf_set_alive(hw, true);
if (ret) {
PMD_INIT_LOG(ERR, "Failed to VF send alive to PF: %d", ret);
goto err_set_tc_queue;
}
return 0;
err_set_tc_queue:
@ -2706,6 +2706,13 @@ hns3vf_restore_conf(struct hns3_adapter *hns)
hns3_info(hw, "hns3vf dev restart successful!");
} else if (hw->adapter_state == HNS3_NIC_STOPPING)
hw->adapter_state = HNS3_NIC_CONFIGURED;
ret = hns3vf_set_alive(hw, true);
if (ret) {
hns3_err(hw, "failed to VF send alive to PF: %d", ret);
goto err_vlan_table;
}
return 0;
err_vlan_table: