From 3a3c95bb2a7319da16fb984edf3d4f38af988c4b Mon Sep 17 00:00:00 2001 From: shenhao Date: Sat, 14 Mar 2020 15:45:55 +0800 Subject: [PATCH] net: hns3: Increase vlan tag0 when close the port_base_vlan driver inclusion category: debug bugzilla: NA CVE: NA ---------------------------------------------------------- This patch increase vlan tag0 when close the port_base_vlan Signed-off-by: liaoguojia Signed-off-by: shenhao Reviewed-by: Zhong Zhaohui Signed-off-by: Yang Yingliang --- .../net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c index cfec96f4466f..4e5336106e23 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -9045,8 +9045,10 @@ static int hclge_update_vlan_filter_entries(struct hclge_vport *vport, if (port_base_vlan_state == HNAE3_PORT_BASE_VLAN_ENABLE) { hclge_rm_vport_all_vlan_table(vport, false); /* force clear vlan 0 */ - hclge_set_vf_vlan_common(hdev, vport->vport_id, true, 0, - htons(ETH_P_8021Q)); + ret = hclge_set_vf_vlan_common(hdev, vport->vport_id, true, 0, + htons(ETH_P_8021Q)); + if (ret) + return ret; return hclge_set_vlan_filter_hw(hdev, htons(new_info->vlan_proto), vport->vport_id, @@ -9055,6 +9057,12 @@ static int hclge_update_vlan_filter_entries(struct hclge_vport *vport, } vport->port_base_vlan_cfg.tbl_sta = false; + /* force add vlan 0 */ + ret = hclge_set_vf_vlan_common(hdev, vport->vport_id, false, 0, + htons(ETH_P_8021Q)); + if (ret) + return ret; + ret = hclge_set_vlan_filter_hw(hdev, htons(old_info->vlan_proto), vport->vport_id, old_info->vlan_tag, true); -- GitLab