mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-29 22:02:02 +00:00
net: hns3: use HCLGE_VPORT_STATE_PROMISC_CHANGE to replace HCLGE_STATE_PROMISC_CHANGED
Currently, PF is using HCLGE_STATE_PROMISC_CHANGED to indicate need synchronize the promisc mode for itself, and using flag HCLGE_VPORT_STATE_PROMISC_CHANGE for its VF. To keep consistent, remove flag HCLGE_STATE_PROMISC_CHANGED, and use flag HCLGE_VPORT_STATE_PROMISC_CHANGE instead. Signed-off-by: Jian Shen <shenjian15@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1e6e76101f
commit
4e2471f7b6
2 changed files with 6 additions and 7 deletions
|
@ -5183,9 +5183,8 @@ static int hclge_set_promisc_mode(struct hnae3_handle *handle, bool en_uc_pmc,
|
|||
static void hclge_request_update_promisc_mode(struct hnae3_handle *handle)
|
||||
{
|
||||
struct hclge_vport *vport = hclge_get_vport(handle);
|
||||
struct hclge_dev *hdev = vport->back;
|
||||
|
||||
set_bit(HCLGE_STATE_PROMISC_CHANGED, &hdev->state);
|
||||
set_bit(HCLGE_VPORT_STATE_PROMISC_CHANGE, &vport->state);
|
||||
}
|
||||
|
||||
static void hclge_sync_fd_state(struct hclge_dev *hdev)
|
||||
|
@ -8050,6 +8049,7 @@ int hclge_vport_start(struct hclge_vport *vport)
|
|||
struct hclge_dev *hdev = vport->back;
|
||||
|
||||
set_bit(HCLGE_VPORT_STATE_ALIVE, &vport->state);
|
||||
set_bit(HCLGE_VPORT_STATE_PROMISC_CHANGE, &vport->state);
|
||||
vport->last_active_jiffies = jiffies;
|
||||
|
||||
if (test_bit(vport->vport_id, hdev->vport_config_block)) {
|
||||
|
@ -10048,7 +10048,6 @@ static void hclge_restore_hw_table(struct hclge_dev *hdev)
|
|||
|
||||
hclge_restore_mac_table_common(vport);
|
||||
hclge_restore_vport_vlan_table(vport);
|
||||
set_bit(HCLGE_STATE_PROMISC_CHANGED, &hdev->state);
|
||||
set_bit(HCLGE_STATE_FD_USER_DEF_CHANGED, &hdev->state);
|
||||
hclge_restore_fd_entries(handle);
|
||||
}
|
||||
|
@ -12408,16 +12407,17 @@ static void hclge_sync_promisc_mode(struct hclge_dev *hdev)
|
|||
u16 i;
|
||||
|
||||
if (vport->last_promisc_flags != vport->overflow_promisc_flags) {
|
||||
set_bit(HCLGE_STATE_PROMISC_CHANGED, &hdev->state);
|
||||
set_bit(HCLGE_VPORT_STATE_PROMISC_CHANGE, &vport->state);
|
||||
vport->last_promisc_flags = vport->overflow_promisc_flags;
|
||||
}
|
||||
|
||||
if (test_bit(HCLGE_STATE_PROMISC_CHANGED, &hdev->state)) {
|
||||
if (test_bit(HCLGE_VPORT_STATE_PROMISC_CHANGE, &vport->state)) {
|
||||
tmp_flags = handle->netdev_flags | vport->last_promisc_flags;
|
||||
ret = hclge_set_promisc_mode(handle, tmp_flags & HNAE3_UPE,
|
||||
tmp_flags & HNAE3_MPE);
|
||||
if (!ret) {
|
||||
clear_bit(HCLGE_STATE_PROMISC_CHANGED, &hdev->state);
|
||||
clear_bit(HCLGE_VPORT_STATE_PROMISC_CHANGE,
|
||||
&vport->state);
|
||||
hclge_enable_vlan_filter(handle,
|
||||
tmp_flags & HNAE3_VLAN_FLTR);
|
||||
}
|
||||
|
|
|
@ -224,7 +224,6 @@ enum HCLGE_DEV_STATE {
|
|||
HCLGE_STATE_STATISTICS_UPDATING,
|
||||
HCLGE_STATE_CMD_DISABLE,
|
||||
HCLGE_STATE_LINK_UPDATING,
|
||||
HCLGE_STATE_PROMISC_CHANGED,
|
||||
HCLGE_STATE_RST_FAIL,
|
||||
HCLGE_STATE_FD_TBL_CHANGED,
|
||||
HCLGE_STATE_FD_CLEAR_ALL,
|
||||
|
|
Loading…
Reference in a new issue