From: Huisong Li Date: Sat, 15 May 2021 00:52:37 +0000 (+0800) Subject: net/hns3: fix DCB reconfiguration X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=b67bdfc8f6630934f3005ad531225c7203304661;p=dpdk.git 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) --- 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;