diff options
author | Jian Shen <shenjian15@huawei.com> | 2022-06-11 20:25:25 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-06-13 11:56:01 +0100 |
commit | 283847e3ef6dbf79bf67083b5ce7b8033e8b6f34 (patch) | |
tree | 30173ae1be1c34271857b541891954bcec263298 /drivers/net/ethernet/hisilicon/hns3 | |
parent | 9eda7d8bcbdb6909f202edeedff51948f1cad1e5 (diff) | |
download | linux-stable-283847e3ef6dbf79bf67083b5ce7b8033e8b6f34.tar.gz linux-stable-283847e3ef6dbf79bf67083b5ce7b8033e8b6f34.tar.bz2 linux-stable-283847e3ef6dbf79bf67083b5ce7b8033e8b6f34.zip |
net: hns3: don't push link state to VF if unalive
It's unnecessary to push link state to unalive VF, and the VF will
query link state from PF when it being start works.
Fixes: 18b6e31f8bf4 ("net: hns3: PF add support for pushing link status to VFs")
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/hisilicon/hns3')
-rw-r--r-- | drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c index fc0265b63331..2e891b837c51 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -3376,6 +3376,12 @@ static int hclge_set_vf_link_state(struct hnae3_handle *handle, int vf, link_state_old = vport->vf_info.link_state; vport->vf_info.link_state = link_state; + /* return success directly if the VF is unalive, VF will + * query link state itself when it starts work. + */ + if (!test_bit(HCLGE_VPORT_STATE_ALIVE, &vport->state)) + return 0; + ret = hclge_push_vf_link_status(vport); if (ret) { vport->vf_info.link_state = link_state_old; |