| From 7844f2b4e216fefba118311def51df6f02043c35 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 3 Sep 2018 11:21:48 +0100 |
| Subject: net: hns3: Fix error of checking used vlan id |
| |
| From: Jian Shen <shenjian15@huawei.com> |
| |
| [ Upstream commit 54e97d117bafa161b08c6ade243a335d92890d94 ] |
| |
| PF uses hdev->vlan_table to manage the port vlan table. In function |
| hclge_set_vlan_filter_hw(), it checks whether a vlan id has been used, |
| by foreach all the vport bits. It should use macro HCLGE_VPORT_NUM, |
| not VLAN_N_VID as the foreach condition. |
| |
| Fixes: 6c251711b37f ("net: hns3: Disable vf vlan filter when vf vlan table is full") |
| Signed-off-by: Jian Shen <shenjian15@huawei.com> |
| Signed-off-by: Peng Li <lipeng321@huawei.com> |
| Signed-off-by: Salil Mehta <salil.mehta@huawei.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c |
| index 44d0cb3f73a44..0e7c92f624e91 100644 |
| --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c |
| +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c |
| @@ -4784,7 +4784,7 @@ static int hclge_set_vlan_filter_hw(struct hclge_dev *hdev, __be16 proto, |
| return -EINVAL; |
| } |
| |
| - for_each_set_bit(vport_idx, hdev->vlan_table[vlan_id], VLAN_N_VID) |
| + for_each_set_bit(vport_idx, hdev->vlan_table[vlan_id], HCLGE_VPORT_NUM) |
| vport_num++; |
| |
| if ((is_kill && vport_num == 0) || (!is_kill && vport_num == 1)) |
| -- |
| 2.20.1 |
| |