Commit 753c521f authored by Jijie Shao's avatar Jijie Shao Committed by Jiantao Xiao
Browse files

net: hns3: fix fail to delete tc flower rules during reset issue

mainline inclusion
from mainline-v6.6-rc3
commit 1a7be66e
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I83ZCY
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1a7be66e4685b8541546222c305cce9710718a88



----------------------------------------------------------------------

Firmware does not respond driver commands during reset
Therefore, rule will fail to delete while the firmware is resetting

So, if failed to delete rule, set rule state to TO_DEL,
and the rule will be deleted when periodic task being scheduled.

Fixes: 0205ec04 ("net: hns3: add support for hw tc offload of tc flower")
Signed-off-by: default avatarJijie Shao <shaojijie@huawei.com>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
Signed-off-by: default avatarJiantao Xiao <xiaojiantao1@h-partners.com>
parent b6124d4f
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -7777,6 +7777,12 @@ static int hclge_del_cls_flower(struct hnae3_handle *handle,
	ret = hclge_fd_tcam_config(hdev, HCLGE_FD_STAGE_1, true, rule->location,
				   NULL, false);
	if (ret) {
		/* if tcam config fail, set rule state to TO_DEL,
		 * so the rule will be deleted when periodic
		 * task being scheduled.
		 */
		hclge_update_fd_list(hdev, HCLGE_FD_TO_DEL, rule->location, NULL);
		set_bit(HCLGE_STATE_FD_TBL_CHANGED, &hdev->state);
		spin_unlock_bh(&hdev->fd_rule_lock);
		return ret;
	}