From: Huisong Li Date: Wed, 31 Mar 2021 10:01:39 +0000 (+0800) Subject: net/hns3: fix flow control exception X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=f1c555219fee71fe76cc53955cd0c052c88b2848;p=dpdk.git net/hns3: fix flow control exception In multi-TC scenarios, MAC pause is not supported. Otherwise, only TC0 can trigger pause frames, and other TCs cannot trigger pause frames. In this case, flow control does not meet the expectation. Fixes: 62e3ccc2b94c ("net/hns3: support flow control") Cc: stable@dpdk.org Signed-off-by: Huisong Li Signed-off-by: Min Hu (Connor) --- diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c index 56b3032e6b..2fa0bfa072 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -5554,6 +5554,11 @@ hns3_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) return -EOPNOTSUPP; } + if (hw->num_tc > 1) { + hns3_err(hw, "in multi-TC scenarios, MAC pause is not supported."); + return -EOPNOTSUPP; + } + hns3_get_fc_mode(hw, fc_conf->mode); if (hw->requested_mode == hw->current_mode && pf->pause_time == fc_conf->pause_time)