Unverified Commit 664759fb authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!5733 fix port vlan filter not disabled problem in dynamic vlan mode

Merge Pull Request from: @chen-hao418 
 
The driver set port vlan filter to "on" when initialized, and
then set port vlan filter to "off" in service task if in dynamic
vlan mode. Between this two settings, if user set a vlan to the
port, the port vlan filter is remain in "on" status, which is
not expected.

To fix the problem, if in dynamic vlan mode, set the port vlan
filter to "off".

https://gitee.com/openeuler/kernel/issues/I9D6UN 
 
Link:https://gitee.com/openeuler/kernel/pulls/5733

 

Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parents adf610d3 617ccb8e
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -10574,6 +10574,7 @@ static int hclge_set_vlan_protocol_type(struct hclge_dev *hdev)
static int hclge_init_vlan_filter(struct hclge_dev *hdev)
{
	struct hclge_vport *vport;
	bool enable = true;
	int ret;
	int i;

@@ -10593,8 +10594,12 @@ static int hclge_init_vlan_filter(struct hclge_dev *hdev)
		vport->cur_vlan_fltr_en = true;
	}

	if (test_bit(HNAE3_DEV_SUPPORT_VLAN_FLTR_MDF_B, hdev->ae_dev->caps) &&
	    !test_bit(HNAE3_DEV_SUPPORT_PORT_VLAN_BYPASS_B, hdev->ae_dev->caps))
		enable = false;

	return hclge_set_vlan_filter_ctrl(hdev, HCLGE_FILTER_TYPE_PORT,
					  HCLGE_FILTER_FE_INGRESS, true, 0);
					  HCLGE_FILTER_FE_INGRESS, enable, 0);
}

static int hclge_init_vlan_type(struct hclge_dev *hdev)