]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Feb 2019 19:02:24 +0000 (20:02 +0100)
[ Upstream commit 8edc2285b7285c5fbffe438dc8113260d3e76656 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c

index ffdd96020860db0153d467814984d63efb01995e..a7895aefe291e8eb14addef13eb1115596688581 100644 (file)
@@ -4339,6 +4339,10 @@ static int hclge_restore_fd_entries(struct hnae3_handle *handle)
        if (!hnae3_dev_fd_supported(hdev))
                return -EOPNOTSUPP;
 
+       /* 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)