56 lines
2.3 KiB
Diff
56 lines
2.3 KiB
Diff
From 478e6e390f04d085a24f557ee11306bc1396cfa7 Mon Sep 17 00:00:00 2001
|
|
From: Yonglong Liu <liuyonglong@huawei.com>
|
|
Date: Fri, 10 Sep 2021 20:00:03 +0800
|
|
Subject: [PATCH 102/283] net: hns3: fix speed unknown issue in bond 4
|
|
|
|
mainline inclusion
|
|
from mainline-v5.14
|
|
commit b15c072a9f4a404c09ad589477f4389034742a8b
|
|
category: bugfix
|
|
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I8EMYT
|
|
CVE: NA
|
|
|
|
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b15c072a9f4a404c09ad589477f4389034742a8b
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
In bond 4, when the link goes down and up repeatedly, the bond may get an
|
|
unknown speed, and then this port can not work.
|
|
|
|
The driver notify netif_carrier_on() before update the link state, when the
|
|
bond receive carrier on, will query the speed of the port, if the query
|
|
operation happens before updating the link state, will get an unknown
|
|
speed. So need to notify netif_carrier_on() after update the link state.
|
|
|
|
Fixes: 46a3df9f9718 ("net: hns3: Add HNS3 Acceleration Engine & Compatibility Layer Support")
|
|
Fixes: e2cb1dec9779 ("net: hns3: Add HNS3 VF HCL(Hardware Compatibility Layer) Support")
|
|
Signed-off-by: Yonglong Liu <liuyonglong@huawei.com>
|
|
Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
|
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
Reviewed-by: Yongxin Li <liyongxin1@huawei.com>
|
|
Signed-off-by: Junxin Chen <chenjunxin1@huawei.com>
|
|
Signed-off-by: Zheng Zengkai <zhengzengkai@huawei.com>
|
|
Signed-off-by: Xiaodong Li <lixiaodong67@huawei.com>
|
|
|
|
Conflicts:
|
|
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c
|
|
---
|
|
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c
|
|
index ec2b4e653893..244b83e22f53 100644
|
|
--- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c
|
|
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c
|
|
@@ -343,6 +343,7 @@ void hclgevf_mbx_async_handler(struct hclgevf_dev *hdev)
|
|
/* update upper layer with new link link status */
|
|
hclgevf_update_speed_duplex(hdev, speed, duplex);
|
|
hclgevf_update_link_status(hdev, link_status);
|
|
+
|
|
if (flag & HCLGE_MBX_PUSH_LINK_STATUS_EN)
|
|
set_bit(HCLGEVF_STATE_PF_PUSH_LINK_STATUS,
|
|
&hdev->state);
|
|
--
|
|
2.34.1
|
|
|