net: hns3: don't restore rules when flow director is disabled
authorJian Shen <shenjian15@huawei.com>
Thu, 20 Dec 2018 03:52:04 +0000 (11:52 +0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 20 Dec 2018 07:47:59 +0000 (23:47 -0800)
When user disables flow director, all the rules will be disabled. But
when reset happens, it will restore all the rules again. It's not
reasonable. This patch fixes it by add flow director status check before
restore fules.

Fixes: 6871af29b3ab ("net: hns3: Add reset handle for flow director")
Fixes: c17852a8932f ("net: hns3: Add support for enable/disable flow director")
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c

index 9f8985862ae7eec3b774eee213a9f06689f984e7..f7637c08bb3a97019dc2387cb51464cffd63056b 100644 (file)
@@ -4808,6 +4808,10 @@ static int hclge_restore_fd_entries(struct hnae3_handle *handle)
        if (!hnae3_dev_fd_supported(hdev))
                return 0;
 
+       /* if fd is disabled, should not restore it when reset */
+       if (!hdev->fd_cfg.fd_en)
+               return 0;
+
        hlist_for_each_entry_safe(rule, node, &hdev->fd_rule_list, rule_node) {
                ret = hclge_config_action(hdev, HCLGE_FD_STAGE_1, rule);
                if (!ret)