net: hns3: fix invalid mutex between tc qdisc and dcb ets command issue
authorJijie Shao <shaojijie@huawei.com>
Wed, 6 Sep 2023 07:20:16 +0000 (15:20 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 7 Sep 2023 09:08:03 +0000 (11:08 +0200)
commitfa5564945f7d15ae2390b00c08b6abaef0165cda
tree1d61a42370bc36020bc8d5254fea9e45a6acef8e
parentc295160b1d95e885f1af4586a221cb221d232d10
net: hns3: fix invalid mutex between tc qdisc and dcb ets command issue

We hope that tc qdisc and dcb ets commands can not be used crosswise.
If we want to use any of the commands to configure tc,
We must use the other command to clear the existing configuration.

However, when we configure a single tc with tc qdisc,
we can still configure it with dcb ets.
Because we use mqprio_active as the tag of tc qdisc configuration,
but with dcb ets, we do not check mqprio_active.

This patch fix this issue by check mqprio_active before
executing the dcb ets command. and add dcb_ets_active to
replace HCLGE_FLAG_DCB_ENABLE and HCLGE_FLAG_MQPRIO_ENABLE
at the hclge layer,

Fixes: cacde272dd00 ("net: hns3: Add hclge_dcb module for the support of DCB feature")
Signed-off-by: Jijie Shao <shaojijie@huawei.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/hisilicon/hns3/hnae3.h
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h