net: hns3: use HCLGE_VPORT_STATE_PROMISC_CHANGE to replace HCLGE_STATE_PROMISC_CHANGED
authorJian Shen <shenjian15@huawei.com>
Mon, 24 May 2021 09:30:43 +0000 (17:30 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 24 May 2021 20:24:09 +0000 (13:24 -0700)
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>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h

index d37767dc5d85788aac8caaf91f4ece486465cc4d..6addeb299bba378b2873b66270577a468b31a05d 100644 (file)
@@ -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);
                }
index 8425dae9e8b072152a2cb1a82c25a1f0b9533784..9e4d02d73bf384ecc9deab1d33589b094aa01d87 100644 (file)
@@ -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,