From b67bdfc8f6630934f3005ad531225c7203304661 Mon Sep 17 00:00:00 2001 From: Huisong Li Date: Sat, 15 May 2021 08:52:37 +0800 Subject: [PATCH] net/hns3: fix DCB reconfiguration Whether the enable bit of the pfc ("pfc_en") is changed or not is one of the conditions for reconfiguring the DCB. Currently, pfc_en is not rolled back when DCB configuration fails. This patch fixes it. Fixes: 62e3ccc2b94c ("net/hns3: support flow control") Cc: stable@dpdk.org Signed-off-by: Huisong Li Signed-off-by: Min Hu (Connor) --- drivers/net/hns3/hns3_dcb.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/hns3/hns3_dcb.c b/drivers/net/hns3/hns3_dcb.c index 1cb6adb886..90c0d041c9 100644 --- a/drivers/net/hns3/hns3_dcb.c +++ b/drivers/net/hns3/hns3_dcb.c @@ -1543,6 +1543,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) enum hns3_fc_status fc_status = hw->current_fc_status; enum hns3_fc_mode requested_fc_mode = hw->requested_fc_mode; uint8_t hw_pfc_map = hw->dcb_info.hw_pfc_map; + uint8_t pfc_en = hw->dcb_info.pfc_en; int ret; if (pf->tx_sch_mode != HNS3_FLAG_TC_BASE_SCH_MODE && @@ -1596,6 +1597,7 @@ pfc_setup_fail: hw->current_fc_status = fc_status; buffer_alloc_fail: + hw->dcb_info.pfc_en = pfc_en; hw->dcb_info.hw_pfc_map = hw_pfc_map; return ret; -- 2.20.1