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: 62e3ccc2b9 ("net/hns3: support flow control")
Cc: stable@dpdk.org

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
This commit is contained in:
Huisong Li 2021-05-15 08:52:37 +08:00 committed by Ferruh Yigit
parent 0b92fa1eb0
commit b67bdfc8f6

View File

@ -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 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns)
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;