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;
- int ret, status;
+ int ret;
if (pf->tx_sch_mode != HNS3_FLAG_TC_BASE_SCH_MODE &&
pf->tx_sch_mode != HNS3_FLAG_VNET_BASE_SCH_MODE)
ret = hns3_buffer_alloc(hw);
if (ret)
- return ret;
+ goto buffer_alloc_fail;
hw->current_fc_status = HNS3_FC_STATUS_PFC;
hw->requested_fc_mode = HNS3_FC_FULL;
pfc_setup_fail:
hw->requested_fc_mode = requested_fc_mode;
hw->current_fc_status = fc_status;
+
+buffer_alloc_fail:
hw->dcb_info.hw_pfc_map = hw_pfc_map;
- status = hns3_buffer_alloc(hw);
- if (status)
- hns3_err(hw, "recover packet buffer fail! status = %d", status);
return ret;
}
uint8_t pfc_en = hw->dcb_info.pfc_en;
uint8_t priority = pfc_conf->priority;
uint16_t pause_time = pf->pause_time;
- int ret, status;
+ int ret;
pf->pause_time = pfc_conf->fc.pause_time;
hns3_get_fc_mode(hw, pfc_conf->fc.mode);
pf->pause_time = pause_time;
hw->dcb_info.pfc_en = pfc_en;
hw->dcb_info.hw_pfc_map = hw_pfc_map;
- status = hns3_buffer_alloc(hw);
- if (status)
- hns3_err(hw, "recover packet buffer fail: %d", status);
return ret;
}